/**
  * Constructor.
  */
 function __construct()
 {
     // Register hooks
     add_action('admin_print_styles-toplevel_page_apple_news_index', array($this, 'plugin_styles'));
     // Admin_Settings builds the settings page for the plugin. Besides setting
     // it up, let's get the settings getter and setter object and save it into
     // $settings.
     $admin_settings = new Admin_Apple_Settings();
     self::$settings = $admin_settings->fetch_settings();
     // Initialize notice messaging utility
     new Admin_Apple_Notice(self::$settings);
     // Set up main page
     new Admin_Apple_Index_Page(self::$settings);
     // Set up all sub pages
     new Admin_Apple_Bulk_Export_Page(self::$settings);
     // Set up posts syncing if enabled in the settings
     new Admin_Apple_Post_Sync(self::$settings);
     // Set up the publish meta box if enabled in the settings
     new Admin_Apple_Meta_Boxes(self::$settings);
     // Set up asynchronous publishing features
     new Admin_Apple_Async(self::$settings);
 }