                                 ((om/get-shared owner :cast!)
                                  :subscriber-updated {:client-id (ffirst state/subscriber-bot)
                                                       :fields {:mouse-position [ex ey]
+                                                               :show-mouse? true
                                                                :layers [(assoc base-layer
                                                                                :layer/current-x ex
                                                                                :layer/current-y ey)]

                          ((om/get-shared owner :cast!)
                           :subscriber-updated {:client-id (ffirst state/subscriber-bot)
                                                :fields {:mouse-position [ex ey]
                                                         :tool tool}})))))
          tick-state
          (range 0 (inc (- end-tick start-tick)))))

  (update-in tick-state [:ticks tick] (fn [f] (fn [owner]
                                                (when f (f owner))
                                                (tick-fn owner)))))

(defn clear-subscriber [tick-state tick]
  (add-tick tick-state tick (fn [owner]
                              ((om/get-shared owner :cast!)
                               :subscriber-updated {:client-id (ffirst state/subscriber-bot)
                                                    :fields {:mouse-position nil
                                                             :tool nil
                                                             :show-mouse? false}}))))

(defn move-mouse [tick-state {:keys [start-tick end-tick start-x end-x start-y end-y tool]
                              :or {tool :rect}}]
