 
 (defn world-vis-init [el-prefix init-event-delay]
   (init-roots)
-  (let [event-delay (atom init-event-delay)
-        step-ch (chan (dropping-buffer 1))
-        prog-ch (listen-el (gdom/getElement "prog-go") "click")
-        cmd-ch (map< (fn [ev] {:op (.-id (.-target ev))
+  (let [req-handlers cbfg.world.lane/cmd-handlers
+        req-ch (map< (fn [ev] {:op (.-id (.-target ev))
                                :x (js/parseInt (get-el-value "x"))
                                :y (js/parseInt (get-el-value "y"))
                                :delay (js/parseInt (get-el-value "delay"))

                               :color (get-el-value "color")
                               :sleep (js/parseInt (get-el-value "sleep"))})
                     (merge (map #(listen-el (gdom/getElement %) "click")
                                 (keys cbfg.world.lane/cmd-handlers))))
        run-controls-ch (cbfg.vis/vis-run-controls event-delay step-ch "header")]
    (go-loop [num-worlds 0]
      (let [last-id (atom 0)

      (recur))))

; --------------------------------------------

(defn kv-server [server-addr & ports]
  (let [world (:world @prog-base)
