 
 
 ;; A signal sampler might have functions that let you plug in your own signal channels that you mix/merge/alt
-;; whatever, to gate vs critical system control messages.
+;; whatever, to gate vs critical system control events.
 
 
 ;; ## Public API around dispatchers
 
 (defn dispatch!
-  "Dispatches message on the dispatcher component at the given level (:default if unspecified)."
-  ([dispatcher message level]
-   (protocols/dispatch! dispatcher message level))
-  ([dispatcher message]
-   (protocols/dispatch! dispatcher message :default)))
+  "Dispatches event on the dispatcher component at the given level (:default if unspecified)."
+  ([dispatcher event level]
+   (protocols/dispatch! dispatcher event level))
+  ([dispatcher event]
+   (protocols/dispatch! dispatcher event :default)))
 
 (defn dispatch-error!
-  [datview message]
-  (dispatch! datview message :error))
+  [datview event]
+  (dispatch! datview event :error))
 
 
 (defn event-chan [dispatcher]
-  "Get the message channel for a dispatcher"
+  "Get the event channel for a dispatcher"
   (protocols/dispatcher-event-chan dispatcher))
 
 

   (new-strictly-ordered-dispatcher {})))


;; Any messages with level :error will get processed by the reactor before _any_ other dispatched messages.
(defrecord ErrorPriorityDispatcher [default-chan error-chan event-chan]
  ;; Should make pluggable config options for the chan creation
  component/Lifecycle

  (stop [component]
    component)
  protocols/PDispatcher
  (dispatch! [component event level]
    (go (async/>! dispatch-chan event)))
  ;; Here, the event chan is just the dispatch chan...
  (dispatcher-event-chan [component]
    ;; Don't know if this will compile properly
    dispatch-chan))

(defn new-strictly-ordered-dispatcher
  "Creates a new strictly ordered dispatcher. This is fine for most cases, and ensures that all events are
  handled in the order they were dispatched (or should...). Can specify `{:dispatch-chan your-chan}` to customize
  the flow."
  ([options]
