sig
  type 'a event
  type watcher
  val watch :
    'Tick.LIFECYCLE.event -> ('-> unit) -> Tick.LIFECYCLE.watcher
  val unwatch : Tick.LIFECYCLE.watcher -> unit
  val poweron : unit Tick.LIFECYCLE.event
  val poweroff : unit Tick.LIFECYCLE.event
  val suspend : unit Tick.LIFECYCLE.event
  val resume : unit Tick.LIFECYCLE.event
end