public PhrasesPresenterIml(PhrasesView view, SoundPlayer player, Database db, int lessonNumber, State initialState)
        {
            this.view = view;
            this.player = player;
            this.db = db;
            this.lessonNumber = lessonNumber;

            player.PlayingFinished += (s, e) =>
            {
                HandlePlaySoundStopEvent ();
            //				new DelayedAction (() => {
            //					//	HandleNextEvent ();
            //				}, 5000);
                HandleTimeoutEvent ();
            };

            stateMachine = new StateMachine (this, initialState);

            var phrases = db.GetPhrasesByLesson (lessonNumber);

            enumerator = phrases.GetLoopedTwoWayEnumerator ();
            HandleNextEvent ();
        }
 public PhrasesPresenterIml(PhrasesView view, SoundPlayer player, Database db, int lessonNumber)
     : this(view, player, db, lessonNumber, AwaitingInManualState.Instance)
 {
 }