       (.put out-queue (make-TaggedImage (annotate-image image event-data @state))))
    (if (core isBufferOverflowed)
       (do (swap! state assoc :stop true)
-          (ReportingUtils/showError "Circular buffer overflowed.")))))
+          (ReportingUtils/showError "Circular buffer overflowed."))))
+  (while (and (not (@state :stop)) (. mmc isSequenceRunning))
+    (Thread/sleep 5)))
 
 (defn collect-snap-image [event out-queue]
   (let [image

        tags (if (and t (pos? t))
               (assoc tags "ElapsedTime-ms" t)
               (dissoc tags "ElapsedTime-ms"))]
    {:pix pix :tags (dissoc tags "StartTime-ms")}))

(defn collect-burst-images [event out-queue]

        (set-stage-position z-drive z)))
    #(do (wait-for-pending-devices)
         (expose event)
         (collect event out-queue)
         (stop-trigger))))

(defn execute [event-fns]
  (doseq [event-fn event-fns :while (not (:stop @state))]
