                        :event-forwarder {:unregister id}})
 
               ;;
-              ;; An new event has been forwarded to this handler. What does it mean?
-              ;;  1. work out if this new event means we need to dispatch another
-              ;;  2. remember the new state
+              ;; A new event has been forwarded to this handler. What does it mean?
+              ;;  1. does this new event mean we need to dispatch another
+              ;;  2. remember that this new event has happened
               (let [[event-id forwarded-event] event-v
                     _   (assert (= id event-id))
                     _   (assert (vector? forwarded-event))



        ;;  rules'  XXX make all :dispatch a list PLUS make :done   [id :done]   then use rules' below
        ;; 
        ]

    ;; return an event handler which will manage the flow

    (fn flow-event-hander
      [{:keys [db]} event-v]
        (condp = event-v

              ;; Setup the flow coordinator:
              ;;  1. Initialise the state  (seen-events and started-tasks)
              ;;  2. dispatch the first event, to kick start
