       reactions (rep-reactions old-replica new-replica diff {:id :b})]
   (fact (:prepared new-replica) => {:a :e :b :d})
   (fact diff => {:observer :b :subject :d})
-  (fact reactions => [{:fn :notify-join-cluster :args {:observer :d :subject :c}}]))
+  (fact reactions => [{:fn :notify-join-cluster
+                       :args {:observer :d :subject :c}
+                       :immediate? true}]))
 
 (let [old-replica (-> old-replica
                       (assoc-in [:prepared :a] :e)

      reactions (rep-reactions old-replica new-replica diff {:id :d})]
  (fact (:prepared new-replica) => {:a :e :b :f :c :g})
  (fact diff => nil)
  (fact reactions => [{:fn :abort-join-cluster :args {:id :d}}]))

(let [old-replica {:peers []}
      new-replica (f old-replica)

      reactions (rep-reactions old-replica new-replica diff {:id :a})]
  (fact (:prepared new-replica) => {:a :d})
  (fact diff => {:observer :a :subject :d})
  (fact reactions => [{:fn :notify-join-cluster
                       :args {:observer :d :subject :b}
                       :immediate? true}]))

(let [old-replica (assoc-in old-replica [:prepared :a] :e)
      new-replica (f old-replica)
