                             (keys child-models))))})))
 
 (defn setup []
-  (let [model (select-model selected-model (edn/read-string (slurp model-file-path)))]
-    {:model model}))
+  (let [model (select-model selected-model (edn/read-string (slurp model-file-path)))
+        env {:time (System/currentTimeMillis)}]
+    (map->State 
+      {:env env
+       :model model
+       :mode-frame 
+         {:mode mode/strip-blink
+          :params {:on-color {:r 0 :g 156 :b 42}
+                   :off-color {:r 0 :g 42 :b 156}
+                   :period 250}}})))
 
 ; This is where any automatic updates to env should happen.
 (defn next-state 

    (map->State 
      {:env env
       :model model
       :mode-frame 
         {:mode mode/strip-blink
          :params {:on-color {:r 156 :g 42 :b 0}
                   :off-color {:r 0 :g 42 :b 156}
                   :period 250}}})))

(defn log-framerate [period]
  (fn [step]

    (<!! render-loop-chan)
    (<!! pixel-pusher-chan)))

(defn edit [path value]
  (>!! command-chan {:type :edit :path path :value value}))

(defn start []
  (>!! command-chan {:type :start}))

(defn stop []
  (>!! command-chan {:type :stop}))

(defn report []
  (>!! command-chan {:type :report}))

(println "Alive and kicking!")
