   (def eng acq-eng)
   (load-mm)
   (create-device-agents)
-  (swap! (.state this) assoc :stop false :pause false) 
+  (swap! (.state this) assoc :stop false :pause false)
   (let [out-queue (GentleLinkedBlockingQueue.)
         settings (convert-settings acq-settings)
-        acq-thread (Thread. #(run-acquisition this 
+        acq-thread (Thread. #(run-acquisition this
           settings out-queue))
-        processors (ProcessorStack. out-queue (.getTaggedImageProcessors acq-eng)) 
+        processors (ProcessorStack. out-queue (.getTaggedImageProcessors acq-eng))
         out-queue-2 (.begin processors)
         display (LiveAcqDisplay. mmc out-queue-2 (make-summary-metadata settings)
                   (:save settings) acq-eng)]
     (def outq out-queue)
     ;(.addImageProcessor acq-eng
       ;(proxy [TaggedImageAnalyzer] []
-        ;(analyze [img] (log "pretending to analyze")))) 
+        ;(analyze [img] (log "pretending to analyze"))))
     (when-not (:stop @(.state this))
       (.start acq-thread)
       (swap! (.state this) assoc :display display)

  (apply swap! state assoc args))

;; metadata
    
(defn annotate-image [img event state]
  (TaggedImage. img (JSONObject.
    (merge


(defn set-property
  ([prop] (core setProperty (prop 0) (prop 1) (prop 2))))

(defn send-device-action [dev action]
  (send-off (device-agents dev) (fn [_] (action))))

(defn create-presnap-actions [event]
  (concat
    (for [[axis pos] (:axes (MultiStagePosition-to-map (get-msp (:position event)))) :when pos]
