   };
 };
 
+// Use the Watchdog job scheduler
+Watchdog::Scheduler scheduler;
+
 // The three echo state machines
-Echo ping;
-Echo pong;
-Echo pang;
+Echo ping(&scheduler);
+Echo pong(&scheduler);
+Echo pang(&scheduler);
 
 void setup()
 {

  {
    UNUSED(type);
    Echo* echo = (Echo*) fsm;
    trace.print(PSTR("init "));
    trace.print(echo->m_name);
    trace.println();
    fsm->set_state(listenState);
    return (true);
  }

  {
    UNUSED(type);
    Echo* echo = (Echo*) fsm;
    trace << echo->time() << ':' << echo->m_name
	  << '(' << echo->m_count++ << ')'
	  << endl;
    fsm->set_state(echoState);
    fsm->set_timer(500);
    return (true);
  }

