public static function init($config = null)
 {
     ob_start();
     global $includes;
     if ($includes == null) {
         $includes = array();
     }
     self::$instance = new YoPressBase();
     if ($config == null) {
         throw new Exception('YoPress: Please pass the config to init!');
     }
     self::$config = $config;
     UrlManagerModule::instance();
     load_theme_textdomain(self::$config['textDomain']);
     spl_autoload_register(array(self::$instance, 'loader'));
     self::$instance->webView = new YoPressWebView();
     self::$instance->component = new YoPressComponentManager();
     $action = UrlManagerModule::instance()->getActionName();
     self::$config['modules'][] = 'Storage';
     self::$config['modules'][] = 'Helper';
     self::$config['modules'][] = array('module' => 'Form', 'adminOnly' => true);
     self::$instance->loadModules();
     /* resolve post request to update options for components */
     if (is_admin() && $action == self::$instance->getAdminPageId() && isset($_POST[YoPressFormModel::FORM_NAME])) {
         YoPressStorageModule::instance()->attributes = $_POST[YoPressFormModel::FORM_NAME];
         YoPressStorageModule::instance()->synchronize();
     }
     self::$instance->registerHooks();
     self::$instance->registerWidgets();
     self::$instance->registerComponents($action);
     self::$instance->registerDependencies($action);
     self::$instance->addActions();
 }
 public static function s($settingName, $value)
 {
     return YoPressStorageModule::instance()->updateOption($settingName, $value);
 }