/**
  * Provides access to a single instance of a module using the singleton pattern
  *
  * @since    1.0
  * @return object
  */
 public static function get_instance()
 {
     if (null === self::$instance) {
         self::$instance = new self();
     }
     return self::$instance;
 }
 /**
  * Define the core functionality of the plugin.
  *
  * Load the dependencies, define the locale, and set the hooks for the admin area and
  * the public-facing side of the site.
  *
  * @since    1.0
  */
 public function __construct()
 {
     self::$plugin_path = plugin_dir_path(dirname(__FILE__));
     require_once self::$plugin_path . 'includes/' . self::PLUGIN_PREFIX . 'loader.php';
     self::$modules['WPBRS_Loader'] = WPBRS_Loader::get_instance();
     self::$modules['WPBRS_Controller_Settings'] = WPBRS_Controller_Settings::get_instance();
     self::$modules['WPBRS_Controller_Blocker'] = WPBRS_Controller_Blocker::get_instance();
     self::$modules['WPBRS_Controller_Cron'] = WPBRS_Controller_Cron::get_instance();
     self::$modules['WPBRS_Controller_Admin_Notices'] = WPBRS_Controller_Admin_Notices::get_instance();
     WPBRS_Actions_Filters::init_actions_filters();
 }
function uninstall_wpbrs_plugin()
{
    require_once plugin_dir_path(__FILE__) . 'includes/wpbrs-loader.php';
    WPBRS_Loader::uninstall_plugin();
}