   "Creates a new display streaming color commands to connected pixel-pusher
   hardware."
   []
-  (PixelPusherDisplay. (DeviceRegistry.) (atom []) false))
+  (let [registry (DeviceRegistry.)
+        strips (atom [])]
+    (doto registry
+      (.addObserver (registry-observer registry strips))
+      (.setExtraDelay 0)
+      (.setAutoThrottle true))
+    (PixelPusherDisplay. registry strips false)))

(defn- set-pixels!
  "Renders a sequence of pixel colors to an LED strip."
  [^Strip strip colors]
  (dorun (map #(when %2 (.setPixel strip (int %1) (unchecked-int %2)))
              (range (.getLength strip))
              colors)))


  (start
    [this]
    (log/info "Starting PixelPusher display...")
    (.startPushing registry)
    (assoc this :running true))


  (stop
    [this]
    (log/info "Stopping PixelPusher display...")
    (.stopPushing registry)
    (assoc this :running false))


