public void Start() { state = state.Transition( pomStateInactive => pomStateInactive.Start(), pomStateActive => pomStateActive, pomStateBreak => pomStateBreak ); CurrentDuration = GetCurrentDuration(); PomodoroCounter = 1; SecondsElapsed = 0; Timer = new Timer(TaskDuration.TotalMilliseconds); Timer.Elapsed += TimerElapsed; Timer.Start(); Metronome.Start(); OnStateChanged(); }