   ping.bind(&pong);
   pong.bind(&ping);
 
-  // Start the state machines
-  ping.begin();
-  pong.begin();
-
   // Give some more startup info
   TRACE(F_CPU);
   TRACE(EVENTS_MAX);

  static bool echoState(FSM* fsm, uint8_t type)
  {
    Echo* echo = (Echo*) fsm;
    if (events--) echo->_port->send(Event::USER_TYPE);
    return (1);
  }
};


  // Capture the tick count and calculate the time per event and nr of cycles.
  uint16_t ticks = Watchdog::get_ticks();
  uint16_t ms_per_tick = Watchdog::ms_per_tick();
  uint32_t ms = ticks * ms_per_tick;
  uint32_t us_per_event = (ms * 1000L) / EVENTS_MAX;
  INFO("%l us per event (%l cycles)", us_per_event, us_per_event * IPUS);
}
