public function init()
    {
        // Requires WordPress 4.1
        if (version_compare($GLOBALS['wp_version'], self::MIN_WP_VER, '<')) {
            Compat::loadNotices();
        }

        // core actions
        add_action('after_setup_theme', [$this->theme, 'addThemeSupports']);
        add_action('widgets_init', [$this->theme, 'registerWidgets']);
        add_action('wp_enqueue_scripts', [$this->assets, 'loadSiteScripts']);
        add_action('wp_enqueue_scripts', [$this->assets, 'loadSiteStyles']);
        add_action('admin_enqueue_scripts', [$this->assets, 'loadAdminScripts']);
        add_action('admin_enqueue_scripts', [$this->assets, 'loadAdminStyles']);
        add_action('login_enqueue_scripts', [$this->assets, 'loadLoginScripts']);
        add_action('login_enqueue_scripts', [$this->assets, 'loadLoginStyles']);

        // meta elements
        add_action('wp_head', [$this->viewMeta, 'render'], 1);

        // theme customizations
        add_action('customize_register', [$this->customizer, 'register']);
        add_action('customize_preview_init', [$this->assets, 'loadCustomizeScript']);
    }