              (when-let [[accept-ch close-accept-ch] (atake server-init listen-result-ch)]
                (cbfg.world.net/server-accept-loop world accept-ch close-accept-ch)
                (prog-event [:kv-server server-addr port]
-                           #(update-in % [:prog-peers :servers server-addr]
+                           #(update-in % [:servers server-addr]
                                        conj port)))))
          (reset! done true))
     (wait-done done)))


(defn render-events [app owner]
  (apply dom/ul nil
         (map (fn [[ts label args]]
                (dom/li #js {:onMouseEnter #(on-event-focus ts label args)
                             :onMouseLeave #(on-event-blur)}
                        (str ts (apply str label) args)))
              (:prog-events app))))

(defn render-clients [app owner]
  (apply dom/select #js {:id "client"}
         (map (fn [client-addr]
                (dom/option #js {:value client-addr} (str client-addr)))
              (keys (:clients (:prog-peers app))))))

(defn init-roots []
  (om/root render-world run-world

          (act-loop cmd-dispatch-loop world [num-dispatches 0]
                    (when-let [msg (atake cmd-dispatch-loop req-ch)]
                      (when-let [client-req-ch
                                 (get-in @prog-curr [:clients (:client msg) :req-ch])]
                        (aput cmd-dispatch-loop client-req-ch msg))
                      (recur (inc num-dispatches))))
          (println :prog-res prog-res)
