   {
     UNUSED(type);
     Echo* echo = (Echo*) fsm;
-    trace.print(echo->m_name);
-    trace.printf(PSTR("(count = %d)\n"), echo->m_count++);
+    trace << echo->time() << ':' << echo->m_name
+	  << '(' << echo->m_count++ << ')'
+	  << endl;
     fsm->set_state(echoState);
-    fsm->set_timer(512);
+    fsm->set_timer(500);
     return (true);
   }
 

 */
class Echo : public FSM {

private:
  str_P m_name;
  uint16_t m_count;
  FSM* m_port;

public:
  /**
   * Construct the echo state machine. Name and port must be bound
   * before started.
   */
  Echo() : FSM(initState), m_name(0), m_count(0), m_port(0) {}

  /**
   * Bind name and port. The name is used for the trace print

  };
};

// Use the Watchdog job scheduler
Watchdog::Scheduler scheduler;

// The three echo state machines
Echo ping(&scheduler);
Echo pong(&scheduler);
Echo pang(&scheduler);

void setup()
{
