     "render"
     (fn []
       (this-as this
-         (let [state (.-wrapper (.-state this))]
+         (let [state (.-wrapper (.-state this)) ]
            (svg {}
                 (draw ring (:rings state))
-                (draw-marbles :red  (:red state) (partial start-marble-move this))
-                (draw-marbles :blue (:blue state) (partial start-marble-move this))
+                (draw-marbles this state :red )
+                (draw-marbles this state :blue)
                 (draw-valid-marble-moves this state)))))))
 
 (defn start []


(defn draw-valid-marble-moves [component state]
  (let [[type & event-data] (:event state)]
    (when (= :marble-move type)
      (let [[color selected] event-data]
        (map (fn [hex]
               (marble (light-colors color)

              (b/valid-destinations state selected))))))

(defn start-marble-move [component color coord]
  (update-state component #(assoc % :event [:marble-selected color coord])))

(defn draw-marbles [component state color]
  (let [current-player (get-in state [:event 1])
        coords         (color state)
        click          (partial start-marble-move component)]
    (map #(marble color (click color %1) %2) coords (map hex->svg coords))))

(def board
  (create-class
