   []
   {:collect-thresh 0
    :signal-thresh  0
-   :signal-fn      parallel-signal-pass
-   :collect-fn     parallel-collect-pass
-   :scheduler      two-pass-scheduler
+   ;;:signal-fn      parallel-signal-pass
+   ;;:collect-fn     parallel-collect-pass
+   ;;:scheduler      two-pass-scheduler
+   :processor      eager-probabilistic-vertex-processor
+   :scheduler      single-pass-scheduler
    :max-ops        1e6
    :threads        #?(:clj (inc (.availableProcessors (Runtime/getRuntime))) :cljs 1)})
 

        watch-id  (keyword (gensym))
        v-filter  (filter #(or (should-signal? % s-thresh) (should-collect? % c-thresh)))
        ->result  (fn [type sigs colls t0]
                    (remove-watch! g :add-vertex watch-id)
                    (remove-watch! g :remove-vertex watch-id)
                    (remove-watch! g :add-edge watch-id)
                    (execution-result type sigs colls t0))]
    (reify
      #?@(:clj

        notify-chan (async/chan (async/dropping-buffer 1))
        watch-id    (keyword (gensym))
        v-filter    (filter #(or (should-signal? % s-thresh) (should-collect? % c-thresh)))
        ->result    (fn [type sigs colls t0] (go (>! res-chan (execution-result type sigs colls t0))))]
    (reify
      #?@(:clj
           [clojure.lang.IDeref
