 (defonce ^:private event-debug* (atom false))
 (defonce ^:private monitoring?* (atom false))
 (defonce ^:private monitor* (atom {}))
+(defonce ^:private lossy-workers* (atom {}))
+
+(defn- log-event
+  "Log event on separate thread to ensure logging doesn't interfere with
+  event handling latency"
+  [msg & args]
+  (future (apply log/debug msg args)))
 
 (defrecord LossyWorker [queue worker current-val])
 

     :author "Jeff Rose, Sam Aaron"}
  overtone.libs.event
  (:import [java.util.concurrent LinkedBlockingQueue])
  (:require [overtone.config.log :as log]
            [overtone.libs.handlers :as handlers]))


  (reset! (:current-val lossy-worker) new-val)
  (.put (:queue lossy-worker) :job))

(defn on-event
  "Asynchronously runs handler whenever events of event-type are
  fired. This asynchronous behaviour can be overridden if required -
