abstract public void OnExit(Flashlight context);
 abstract public void OnEnter(Flashlight context);
 public override void OnEnter(Flashlight context)
 {
     base.OnEnter(context);
     context.SolidLED();
 }
 abstract public void HandelModeEvent(Flashlight context);
 public override void HandelModeEvent(Flashlight context)
 {
     context.setState(Flash.Instance);
 }
 public override void OnExit(Flashlight context)
 {
 }
 abstract public void HandelPowerEvent(Flashlight context);
 public override void OnEnter(Flashlight context)
 {
     context.LightOff();
 }
 public override void HandelModeEvent(Flashlight context)
 {
 }
 public override void HandelPowerEvent(Flashlight context)
 {
     context.setState(Solid.Instance);
 }