public override void HandleMode(IStateFlashLight context)
 {
     context.SolidLeds();
     context.SetState(new SolidState());
 }
 public override void HandleMode(IStateFlashLight context)
 {
     context.FlashLeds();
     context.SetState(new FlashingState());
 }
 public override void OnEnter(IStateFlashLight context)
 {
 }
 public override void HandlePower(IStateFlashLight context)
 {
     context.LightOff();
     context.SetState(new OffState());
 }
 public override void OnEnter(IStateFlashLight context)
 {
     context.SetState(new SolidState());
 }
 public virtual void HandleMode(IStateFlashLight context)
 {
 }
 public virtual void HandlePower(IStateFlashLight context)
 {
 }
 public virtual void OnEnter(IStateFlashLight context)
 {
 }