             "style"   {"cursor" (if click "pointer")}
             "key"     (str "marble" x "," y)})))
 
+; move-ring
 (def opposite
   {:red :blue
    :blue :red})
 
+; draw-valid-marble-moves
 (def light-colors
   {:red :pink
    :blue :lightblue})
 
+; Used quite a bit. Perhaps should switch to using atoms then this will all be
+; a bit more natural.
 (defn update-state [component update-fn]
   (fn []
     (let [old-state (.-wrapper (.-state component))]
       (.setState component #js {:wrapper (update-fn old-state)}))))
 
+; draw-valid-marble-moves
 (defn move-marble [component color from to]
   (update-state component
                 #(-> % (n/move-ball color from to)
                      (assoc :event [:marble-moved color]))))
 
+; render, own namespace?
 (defn draw-valid-marble-moves [component state]
   (let [[type & event-data] (:event state)]
     (when (= :marble-selected type)

         coords (map hex->svg coords))))

; Same as move-marble
(defn move-ring [component color from to]
  (update-state component
                #(-> % (n/move-ring from to)

            [nonaga.rules.rings :as r])
  (:use-macros [dommy.macros :only [sel1]]))

; Used all over the place. Perhaps util?
(defn hex->svg [[hex-x hex-y]]
  (let [width  40
        half (/ width 2)
