/**
  * Register hooks and esure existence of content folder.
  *
  * @since 1.2.0 Added internal hooks setup, PME content directory adding.
  * @since 1.0.0
  *
  * @uses Backend::register_hooks() to setup backend functionality.
  * @uses Manager::register_hooks() to setup admin screens.
  * @uses Documenter::register_hooks() to setup admin documentation.
  */
 public static function setup()
 {
     // Register the hooks of the subsystems
     Backend::register_hooks();
     Manager::register_hooks();
     Documenter::register_hooks();
     // Ensure the content directory exists
     if (!file_exists(PME_CONTENT_DIR) && is_readable(dirname(PME_CONTENT_DIR))) {
         wp_mkdir_p(PME_CONTENT_DIR);
     }
     // Register global hooks
     static::register_hooks();
 }
 /**
  * Register hooks and load options.
  *
  * @since 1.0.0
  *
  * @uses Registry::load() to load the options.
  * @uses Loader::register_hooks() to setup plugin management.
  * @uses System::register_hooks() to setup global functionality.
  * @uses Backend::register_hooks() to setup backend functionality.
  * @uses AJAX::register_hooks() to setup AJAX functionality.
  * @uses Manager::register_hooks() to setup admin screens.
  * @uses Documenter::register_hooks() to setup admin documentation.
  */
 public static function setup()
 {
     // Setup the registry
     Registry::load();
     // Register the Installer stuff
     Installer::register_hooks();
     // Register global hooks
     self::register_hooks();
     // Register the hooks of the subsystems
     Backend::register_hooks();
     AJAX::register_hooks();
     Manager::register_hooks();
     Documenter::register_hooks();
 }