     IWillMount
     (will-mount [_]
       (go-loop []
-        (let [start (om/get-state owner :start)
+        (let [start (time-coerce/to-date (get-in data [:timer :Start]))
               interval-seconds (/ (time/in-millis (time/interval start (time/now))) 1000)]
           (om/update-state! owner :elapsed-minutes #(mod (/ interval-seconds 60) 60))
           (om/update-state! owner :elapsed-hours #(mod (/ interval-seconds 60 60) 24)))
         (<! (async/timeout 1000))
         (recur)))
     IRenderState
-    (render-state [_ {x :x y :y sec :elapsed-seconds min :elapsed-minutes hr :elapsed-hours}]
-      (let [min-only (= 0 (int hr))]
+    (render-state [_ {min :elapsed-minutes hr :elapsed-hours}]
+      (let [{x :x y :y} (:dimensions data)
+            min-only (= 0 (int hr))]
         (dom/text #js {:x (if min-only
                             (- x 50)
                             (- x 130))

    IWillMount
    (will-mount [_]
      (go-loop []
        (let [start (om/get-state owner :start)
              interval-seconds (/ (time/in-millis (time/interval start (time/now))) 1000)]
          (om/update-state! owner :elapsed-minutes #(mod (/ interval-seconds 60) 60)))
        (<! (async/timeout 1000))

                          :timer-ids [{:name "Clean the kitchen"
                                       :id "clean-the-kitchen"}
                                      {:name "Take a bath"
                                       :id "take-a-bath"}]
                          :dimensions {
                                       :width 500
                                       :height 500
                                       :x 250
                                       :y 250
                                       :r 200}}))

(defn pie [x y r fill tenth-degrees]
  (let [points (map #(str (+ x (math/angleDx (/ % 10) r)) "," (+ y (math/angleDy (/ % 10) r)))
