private void StartNextIteration()
 {
     Iteration.Complete -= Iteration_Complete;
     Iteration.Tick -= Iteration_Tick;
     Iteration = null;
     BeginIteration();
 }
        private void BeginIteration()
        {
            if (!TaskListBox.HasItems)
            {
                GoalTextBlock.Text = "Add some tasks to your list with the \"New Task\" button, then try again.";
                GoalDescriptionBlock.Text = "Be sure to give your tasks clear, concise names. Leave the detail for the description.";
                return;
            }

            // Make a list of all incomplete tasks.
            List<StutterTask> temp = new List<StutterTask>();

            foreach(StutterTask st in Tasks)
            {
                if (!st.IsComplete) { temp.Add(st); }
            }

            // If there are no incomplete tasks, fuss.
            if (temp.Count < 1)
            {
                GoalTextBlock.Text = "Add some tasks to your list with the \"New Task\" button, then try again.";
                GoalDescriptionBlock.Text = "Remember, completed tasks won't be selected during a phrase.";
                return;
            }

            // Set up variables for the new Iteration
            StutterTask task = temp[_random.Next(temp.Count)];
            TimeSpan phraseLength = new TimeSpan(0, Settings.Default.PhraseLength, 0);
            TimeSpan blockLength = new TimeSpan(0, Settings.Default.BlockLength, 0);

            #if DEBUG

            // Shorter iterations for debugging purposes.
            phraseLength = new TimeSpan(0,0,10);
            blockLength = new TimeSpan(0,0,5);

            #endif

            // Create the Iteration.
            Iteration = new StutterIteration(task, phraseLength, blockLength);
            Iteration.Complete += Iteration_Complete;
            Iteration.Tick += Iteration_Tick;
            Iteration.BeginPhrase();
            RefreshGoal();
            PhraseProgressLabel.Content = Iteration.PhraseLength.ToString(@"mm\:ss") + " Remaining";
            BeginButton.Content = "Stop Stutter";

            NotificationHelper.CreateNotificiation(this, Iteration.Task.Name, "Phrase Started");
        }