public override void HandlePower(Flashlight context)
 {
     OnExit(context);
     context.SetState(FlashlightStates.ON);
     context.CurrState.OnEnter(context);
     context.LightOn();
 }
 public override void HandleMode(Flashlight context)
 {
     context.SetState(FlashlightStates.FLASHING);
 }
 public override void HandleMode(Flashlight context)
 {
     context.SetState(FlashlightStates.SOLID);
 }
 public override void OnEnter(Flashlight context)
 {
     base.OnEnter(context);
     context.SetState(FlashlightStates.SOLID);
 }