public TimeNaziApplicationContext()
        {
            logger.Debug("TimeNaziApplicationContext() ctor");

            InitializeComponent();
            _initConfig();
            InitializeComponent_needsConfig();


            // handle the exit event
            Application.ApplicationExit += Application_ApplicationExit;
            // handle the opacity change of the clock on the settings page
            settingsForm.ClockOpacityChanged += _sfSettingsForm_ClockOpacityChanged;

            logger.Debug("Setting up orchestrator");
            _soOrchestrator = new ScenarioOrchestrator();
            _loadConfig();
            _soOrchestrator.RestElapsed   += _soOrchestrator_RestElapsed;
            _soOrchestrator.SnoozeElapsed += _soOrchestrator_SnoozeElapsed;
            _soOrchestrator.WorkElapsed   += _soOrchestrator_WorkElapsed;
            _soOrchestrator.Tick          += _soOrchestrator_Tick;
            _soOrchestrator.MinuteWarning += _soOrchestrator_MinuteWarning;
            _soOrchestrator.Initialize();

            SystemEvents.SessionSwitch    += SystemEvents_SessionSwitch;
            SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged;
            SystemEvents.SessionEnded     += SystemEvents_SessionEnded;

            logger.Debug("Application start: scenario start");
            _scenarioStartup();
        }
        public TimeNaziApplicationContext()
        {
            logger.Debug("TimeNaziApplicationContext() ctor");
            InitializeComponent();
            _initConfig();
            InitializeComponent_needsConfig();

            // handle the exit event
            Application.ApplicationExit += Application_ApplicationExit;
            // handle the opacity change of the clock on the settings page
            settingsForm.ClockOpacityChanged += _sfSettingsForm_ClockOpacityChanged;

            logger.Debug("Setting up orchestrator");
            _soOrchestrator = new ScenarioOrchestrator();
            _loadConfig();
            _soOrchestrator.RestElapsed += _soOrchestrator_RestElapsed;
            _soOrchestrator.SnoozeElapsed += _soOrchestrator_SnoozeElapsed;
            _soOrchestrator.WorkElapsed += _soOrchestrator_WorkElapsed;
            _soOrchestrator.Tick += _soOrchestrator_Tick;
            _soOrchestrator.MinuteWarning += _soOrchestrator_MinuteWarning;
            _soOrchestrator.Initialize();

            SystemEvents.SessionSwitch += SystemEvents_SessionSwitch;
            SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged;
            SystemEvents.SessionEnded += SystemEvents_SessionEnded;

            logger.Debug("Application start: scenario start");
            _scenarioStartup();
        }