      true)))
 
 (defn on-event
-  "Takes an event-type (name of the event) a key (to refer back to this handler
-  in the future) and a handler fn. Runs handler whenever events of type event-
-  type are fired.  The handler can optionally accept a single event argument,
-  which is a map containing the :event-type property and any other properties
-  specified when it was fired.
+  "Runs handler whenever events of event-type are fired asynchronously. This
+  asynchronous behaviour can be overridden if required - see sync-event for
+  more information. Events may be triggered with the fns event and sync-event.
+
+  Takes an event-type (name of the event), a handler fn and a key (to refer
+  back to this handler in the future). The handler can optionally accept a
+  single event argument, which is a map containing the :event-type property
+  and any other properties specified when it was fired.
 
   (on-event \"/tr\" handler ::status-check )
   (on-event :midi-note-down (fn [event]


(defn event
  "Fire an event of type event-type with any number of additional properties.
  NOTE: an event requires key/value pairs, and everything gets wrapped into an
  event map.  It will not work if you just pass values.


  (event :foo :val 200) ; my-foo-handler gets called with:
                        ; {:event-type :foo :val 200}
  (remove-handler :foo ::bar-key)
  (event :foo :val 200) ; my-foo-handler no longer called"
  [event-type key]
  (dosync
    (doseq [handler-ref* [event-handlers* sync-event-handlers*]]
