/**
  * Return an instance of the renderer class based on the type of the layer.
  *
  * @since 4.0.0
  * 
  * @param  array  $data The data of the layer.
  * @return object       An instance of the appropriate renderer class.
  */
 public static function create_layer($data)
 {
     if (is_null(self::$default_type)) {
         $default_settings = BQW_SliderPro_Settings::getLayerSettings();
         self::$default_type = $default_settings['type']['default_value'];
     }
     $type = isset($data['type']) ? $data['type'] : self::$default_type;
     foreach (self::$registered_types as $registered_type_name => $registered_type_class) {
         if ($type === $registered_type_name) {
             return new $registered_type_class();
         }
     }
 }
 /**
  * Create a layer.
  *
  * @since  1.0.0
  * 
  * @param  array  $data The data of the layer.
  * @return string       The HTML output of the layer.
  */
 protected function create_layer($data)
 {
     $layer = BQW_SP_Layer_Renderer_Factory::create_layer($data);
     $layer->set_data($data, $this->slider_id, $this->slide_index, $this->lazy_loading);
     return $layer->render();
 }