public function register()
 {
     $db = new DatabaseAccessWrapper();
     $helper = new SiteHelper();
     $stage = new Event();
     $order = new Order();
     $user = new User();
     HookRegistrar::register('admin_menu', array($this, 'initialization_settings'));
     HookRegistrar::register('admin_menu', array($this, 'register_metaboxes'));
     HookRegistrar::register('save_post', array($db, 'save_metadata'), 10, 3);
     HookRegistrar::register('wp_ajax_add_product_to_cart', array($order, 'add_product_to_cart'));
     HookRegistrar::register('wp_ajax_send_proposal', array($user, 'send_proposal'));
     HookRegistrar::register('woocommerce_checkout_update_order_meta', array($order, 'add_order_meta'));
     HookRegistrar::register('woocommerce_order_status_cancelled', array($order, 'remove_stage_confirmation'));
     HookRegistrar::register('admin_head', array($helper, 'hide_update_notice'));
     HookRegistrar::register('wp_login', array($this, 'destroy_session'));
     HookRegistrar::register('wp_logout', array($this, 'destroy_session'));
     FilterRegistrar::register('admin_body_class', array($helper, 'add_body_class'));
     ShortcodeRegistrar::register('upcoming_stages', array($stage, 'display_upcoming_stages'));
     ShortcodeRegistrar::register('bsalted_payments', array($order, 'bsalted_payments'));
     $helper->enqueue_style('bsalted-css', '/css/main.css');
 }
 public function hide_update_notice()
 {
     HookRegistrar::unregister('admin_notices', 'update_nag', 3);
 }