protected virtual void StopService()
        {
            Log.Logger.Information("Service stopping");

            scheduler.Stop();

            webServiceHost.Stop();

            FilePersistenceAdapters.Stop();

            Log.Logger.Information("Service stopping done");
        }
        protected virtual void StartService()
        {
            Log.Logger.Information("Service starting");

            FilePersistenceAdapters.Start();

            Log.Logger.Information("Scheduler will start listening to changes of reminder entities");
            FilePersistenceAdapters.RemiderFilePersistence.EntitiesChanged  += () => scheduler.UpdateReminderList(FilePersistenceAdapters.RemiderFilePersistence.Entities);
            FilePersistenceAdapters.SettingsFilePersistence.EntitiesChanged += () => scheduler.UpdateSettings(FilePersistenceAdapters.SettingsFilePersistence.Entities[0]);

            scheduler.UpdateSettings(FilePersistenceAdapters.SettingsFilePersistence.Entities[0]);
            scheduler.UpdateReminderList(FilePersistenceAdapters.RemiderFilePersistence.Entities);
            scheduler.ReminderTimeUp += RingingCaller.RingReminder;
            scheduler.BeeperTimeUp   += RingingCaller.RingBeep;

            webServiceHost.Start();

            scheduler.Start();

            Log.Logger.Information("Service starting done");
        }