            ]]]]))))
 
 (def app-model
-  (atom {:current-slide 9
+  (atom {:current-slide 4
          :slides
          ;; TODO Add cardinal such that each slide has its own number to avoid react warning
          (vec

        (html
         [:div
          [:svg {:version "1.1" :width 800 :height 600}
           [:g {:transform "translate(70,65)"
                :onClick (fn [_]
                           (go
                             (>! ch (str (rand-int 10)))
                             ;; Forces a re-render
                             (om/set-state! owner :modified (new js/Date))))}

            [:g {:transform "translate(90,0)"}
             [:rect {:x 0 :y 0 :width 140 :height 100 :fill "black"}]
             [:text {:x 0 :y 80 :style {:font-size default-font :stroke "white" :fill "white"}} ">!"]]]

           (for [x (range bufsize)]
             [:g {:transform (str "translate(320,320)")}
              [:g {:transform (str "rotate(" (- (* (- x (/ bufsize 2) (- 1)) (/ 180 bufsize))) ") translate(200)")}
               [:circle {:cx 0 :cy radius :r radius :style {:fill "#224"}}]
               [:text {:x (- 0 (/ radius 2) 5) :y (* 1.7 radius) :style {:font-size default-font :fill "white"}}
                (str (aget (.-arr (.-buf buf)) (mod (+ x (.-head (.-buf buf))) bufsize)))]]])

           [:g {:transform "translate(70,475)"
                :onClick (fn [_]
                           (go
                             (<! ch)
                             (om/set-state! owner :modified (new js/Date))))}

            [:g {:transform "translate(90,0)"}
             [:rect {:x 0 :y 0 :width 140 :height 100 :fill "black"}]
             [:text {:x 0 :y 80 :style {:font-size default-font :stroke "white" :fill "white"}} "<!"]]

            ]]])))))

(defn timeout-slide [data owner opts]
  (reify

         :buf buf
         :ch ch
         :default-font (:font-size opts)
         :radius (:radius opts)
         :pending-put nil}))
    om/IRender
    (render [_]
      (let [bufsize (om/get-state owner :buffer-size)
