private void OnBoardScrambled(BoardScrambled message)
 {
     this.Status = SolveStatus.NotStarted;
     this.StepCount = 0;
     this.OptimalStepCount = null;
     this.Duration = TimeSpan.Zero;
 }
        private void OnBoardScrambled(BoardScrambled message)
        {
            if (this.Status == SolverServiceStatus.Solving)
            {
                this.currentBackgroundJob.CancellationTokenSource.Cancel();
            }

            this.Status = SolverServiceStatus.NotSolved;
            this.Solutions = null;
            this.SolutionLength = null;
            if (this.AutoSolve)
            {
                this.StartSolveCurrentBoard();
            }
        }