 
 (declare schedule-next-timeout!)
 ;; FIXME: This seems like it really should be debug only
-(let [interrupted (promise)]
+(let [interrupted (atom nil)]
+  (defn interrupted?
+    []
+    @interrupted)
+  (comment
+    (interrupted?)
+    )
+
   (s/fdef action-trigger!
           :args (s/cat :timing-details ::action-timing-details
                        :io-handle ::specs/io-handle

          my-logs (::log/state state)
          forked-logs (log/fork my-logs)
          mid (System/currentTimeMillis)]
      (if (not (realized? interrupted))
        ;; This is taking a ludicrous amount of time.
        ;; Q: How much should I blame on logging?
        (schedule-next-timeout! io-handle (assoc state

                               my-logs)))
    nil)

  (defn interrupt!
    []
    (println "FIXME: Debug only\nInterrupting ioloop manually")
    (reset! interrupted true))
  (comment
    (interrupt!)
    )

  (defn clear-interrupt
    []
    (println "Unblocking ioloop manually")
    (reset! interrupted false))
  (comment
    (clear-interrupt!)
    ))

(comment
  (let [delta_f ##Inf,
