private void ExecuteSolutionStep(object o, EventArgs e) { MoveCellAccordingToRules(currentSolution[nextSolutionStepIndex]); ++nextSolutionStepIndex; view.NotifyOnSolutionStepUpdated(currentSolution.Count - nextSolutionStepIndex); if (IsCompleted()) { solveTimer.Stop(); isGameBeingSolved = false; } }