public void Reset() { this.CurrentState = InitialState.Next(); this.History.Add(this.CurrentState); this.Step = 0; }