                      (let [result (atake user-out out)]
                        (set-el-innerHTML "output" result)
                        (recur (inc num-outs))))
-           (make-fenced-pump world in out @max-inflight)))))
+           (make-fenced-pump world in out @max-inflight)))
+    (vis-run-controls event-delay step-ch)))
 
 ;; ------------------------------------------------
 


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

(defn vis-init [cmds cmd-handlers]
  (let [max-inflight (atom 10)
        event-delay (atom 0)

                             ;         :msgs {msg -> true}
                             ;         :first-taker-actx actx-or-nil}}.
                   :gen-id gen-id
                   :last-id (fn [] @last-id)})]
    (go-loop [num-events 0 vis-last nil vis-last-positions nil]
      (when (> @event-delay 0) (<! (timeout @event-delay)))
      (when (< @event-delay 0) (<! step-ch))
