sig
  type 'a t
  exception Reject
  exception Terminate
  exception Out_of_handlers
  val create :
    ?string_of_event:('a -> string) -> ('a Equeue.t -> unit) -> 'a Equeue.t
  val add_event : 'a Equeue.t -> 'a -> unit
  val add_handler : 'a Equeue.t -> ('a Equeue.t -> 'a -> unit) -> unit
  val run : 'a Equeue.t -> unit
  val is_running : 'a Equeue.t -> bool
  val set_debug_mode : bool -> unit
end