         events = schedule.eventModels
         days = schedule.dayModels
         
-        eventBus.subscribe(consumer: self)
+        eventBus.subscribe(consumer: UpdateAdapterWhenScheduleChanges(scheduleAdapter: self))
         eventBus.subscribe(consumer: UpdateCurrentDayWhenSignificantTimePasses(scheduleAdapter: self))
         regenerateSchedule()
         updateCurrentDay()

    
}

class EventsScheduleAdapter: EventsSchedule, EventConsumer {
    
    private let schedule: Schedule
    private let clock: Clock

        
    }
    
    private class UpdateCurrentDayWhenSignificantTimePasses: EventConsumer {
        
        private let scheduleAdapter: EventsScheduleAdapter
        
        init(scheduleAdapter: EventsScheduleAdapter) {
            self.scheduleAdapter = scheduleAdapter
        }
        
        func consume(event: DomainEvent.SignificantTimePassedEvent) {
            scheduleAdapter.updateCurrentDay()
        }
        
    }
    
    private class UpdateAdapterWhenScheduleChanges: EventConsumer {
        
        private let scheduleAdapter: EventsScheduleAdapter
        
        init(scheduleAdapter: EventsScheduleAdapter) {
            self.scheduleAdapter = scheduleAdapter
        }
        
        func consume(event: Schedule.ChangedEvent) {
            scheduleAdapter.updateFromSchedule()
        }
        
    }
