/**
  * Register everything we need
  */
 public static function bootstrap()
 {
     spl_autoload_register(array(get_class(), 'autoload'));
     self::$installed = get_option('sputnik_installed', array());
     self::$suspended = get_option('sputnik_suspended', array());
     //add_action('activated_plugin', array(get_class(), 'clear_installed'));
     //add_action('deactivated_plugin', array(get_class(), 'clear_installed'));
     // 'deactivated_plugin' runs before saving, so we have to do this instead:
     add_action('update_option_active_plugins', array(get_class(), 'clear_installed'));
     add_action('plugins_loaded', array(get_class(), 'loaded'));
     add_action('init', array(get_class(), 'init'));
     add_action('init', array(get_class(), 'check_for_saas_push'));
     add_action('init', array(get_class(), 'thumbnails'));
     add_action('init', array(get_class(), 'credentials'));
     add_action('wp', array(get_class(), 'show_login_form'));
     add_filter('extra_plugin_headers', array(get_class(), 'extra_headers'));
     add_filter('extra_theme_headers', array(get_class(), 'extra_headers'));
     add_action('wpsc_update_purchase_log_status', array(get_class(), 'push_sales_data'), 10, 4);
     add_action('init', array(get_class(), 'sales_data_postback'));
     add_filter('wpsc_purchase_log_customer_notification_raw_message', array(get_class(), 'add_download_link'), 10, 2);
     add_action('wpsc_transaction_results_shutdown', array(get_class(), 'add_download_link_page'), 10, 3);
     Sputnik_Admin::bootstrap();
     Sputnik_Updater::bootstrap();
     Sputnik_Pointers::bootstrap();
 }