public SolutionStepCompletedEventArgs(string step, bool finished, Algorithm moves, int milliseconds, SolutionStepType type = SolutionStepType.Standard)
 {
     this.Step = step;
     this.Finished = finished;
     this.Algorithm = moves;
     this.Milliseconds = milliseconds;
     this.Type = type;
 }
 public SolutionStepCompletedEventArgs(string step, bool finished, Algorithm moves, int milliseconds, SolutionStepType type = SolutionStepType.Standard)
 {
     this.Step         = step;
     this.Finished     = finished;
     this.Algorithm    = moves;
     this.Milliseconds = milliseconds;
     this.Type         = type;
 }
 protected void AddSolutionStep(string key, Action action, SolutionStepType type = SolutionStepType.Standard)
 {
     this.SolutionSteps.Add(key, new Tuple <Action, SolutionStepType>(action, type));
 }
 protected void AddSolutionStep(string key, Action action, SolutionStepType type = SolutionStepType.Standard)
 {
   this.SolutionSteps.Add(key, new Tuple<Action, SolutionStepType>(action, type));
 }