protected function __construct()
 {
     $this->_version = wp_get_theme()->version;
     $this->set_theme_settings(new Upfront_Theme_Settings(get_stylesheet_directory() . DIRECTORY_SEPARATOR . 'settings.php'));
     self::$instance = $this;
     //add_filter('upfront_create_default_layout', array($this, 'load_page_regions'), 10, 3); // Soooo... this no longer works, yay
     add_filter('upfront_override_layout_data', array($this, 'load_page_regions'), 10, 2);
     // This goes in instead of the above ^
     add_filter('upfront_get_layout_properties', array($this, 'getLayoutProperties'));
     add_filter('upfront_get_theme_fonts', array($this, 'getThemeFonts'), 10, 2);
     add_filter('upfront_get_icon_fonts', array($this, 'getIconFonts'), 10, 2);
     add_filter('upfront_get_theme_colors', array($this, 'getThemeColors'), 10, 2);
     add_filter('upfront_get_theme_colors_styles', array($this, 'getThemeColorsStyles'), 10, 1);
     add_filter('upfront_get_post_image_variants', array($this, 'getPostImageVariants'), 10, 2);
     add_filter('upfront_get_button_presets', array($this, 'getButtonPresets'), 10, 2);
     add_filter('upfront_get_tab_presets', array($this, 'getTabPresets'), 10, 2);
     add_filter('upfront_get_accordion_presets', array($this, 'getAccordionPresets'), 10, 2);
     add_filter('upfront_get_theme_styles', array($this, 'getThemeStyles'));
     add_filter('upfront_get_global_regions', array($this, 'getGlobalRegions'));
     add_filter('upfront_get_responsive_settings', array($this, 'getResponsiveSettings'));
     add_filter('upfront_prepare_theme_styles', array($this, 'prepareThemeStyles'), 10, 2);
     add_filter('upfront-storage-key', array($this, 'theme_storage_key'));
     add_filter('upfront-thx-theme_exports_images', array($this, 'theme_exports_images'));
     add_action('after_switch_theme', array($this, 'initial_theme_setup'));
     $this->_set_up_required_pages_from_settings();
     $this->checkMenusExist();
     $this->initialize();
 }