     (render [_]
       (dom/div #js {:style #js {"position" "absolute" "top" (+ 30 y) "left" x}}
                (dom/div #js {:style #js {"position" "relative" "left" 9 "top" -3 "font-family" "monospace" "color" "grey" "font-size" "50%" }} name)
-               (dom/div #js {:style #js {"position" "absolute" "left" 0 "top" 0 "font-family" "monospace" "background-color" (str "#"(.toString (rand-int 16rFFFFFF) 16)) "width" "5px" "height" "5px"}} "")
+               (dom/div #js {:style #js {"position" "absolute" "left" 0 "top" 0 "font-family" "monospace" "background-color" (or color "red") "width" "5px" "height" "5px"}} "")
                (dom/div #js {:style #js {"position" "relative" "font-family" "monospace"}} message)))))
 
 (defn push-current-user []
   (.push firebase (clj->js {:id (str (player-id))
                             :name (player-name)
                             :coords (coords)
+                            :color (color)
                             :message (message)})))
 
 (defn bound-x [x]

         (events/listen (KeyHandler. js/document) EventType.KEY
                        (fn [event]
                          (case (.-keyCode event)
                            37 (update-coords! back identity)
                            38 (update-coords! identity back)
                            39 (update-coords! fwd identity)
                            40 (update-coords! identity fwd)
                            ;;191 (.focus (om/get-node owner "message"))
                            nil))))))
   app-state

(def firebase (js/Firebase. "https://burning-heat-936.firebaseio.com/players"))
(def prefs (local-storage (atom {}) :prefs))

(defn player-id []
  (or (:player-id @prefs)
      (swap! prefs assoc :player-id (uuid/make-random))))

(defn coords []
  (let [[x y] (:coords @prefs)]
