All watchers can be active(waiting for events) or inactive(paused). Only
  active watchers will have their callbacks invoked. All callbacks will be
  called with at least two arguments:
  watcher
  - the watcher, and
  revents
  a bitmask of received events.
 
Watcher callbacks are passed to the watcher constructors (the classes derived from EvWatcher - EvCheck::__construct(), EvChild::__construct() etc.). A watcher callback should match the following prototype:
watcher
    The watcher instance(of a class extending EvWatcher ).
revents
    
  Each watcher type has its associated bit in
  revents,
  so one can use the same callback for multiple watchers. The event mask is
  named after the type, i.e.
  EvChild
  (or
  EvLoop::child())
  sets
  EV::CHILD,
  EvPrepare
  (or
  EvLoop::prepare())
  sets
  Ev::PREPARE,
  EvPeriodic
  (or
  EvLoop::periodic())
  sets
  Ev::PERIODIC
  and so on, with the exception of I/O events (which can set both
  Ev::READ
  and
  Ev::WRITE
  bits).
 
