               ; Notification signal is needed, for instance, to hit persistence middleware to save new component model.
               (-> (dispatch ::replay)
                   :component
-                  (component-control ::on-did-replay #(:component (dispatch [::component %])))))
+                  (component-control ::on-did-replay #(:component (dispatch %)))))
 
             (handle-component-signal
               [model]

                 (update m :action-events #(filter :enabled? %))
                 (update m :signal-events #(remove (partial -orphaned-signal? m) %)))

           [::component signal-id a]
           (as-> model m
                 (update m :component component-reconcile a)

                 (update m :next-action-id inc))

           ; for bare component actions (e.g. when dispatching from REPL) create an "unknown signal" event
           :else
           (let [[signal-id _ :as unknown-signal-event] (-signal-event (:next-signal-id model) ::unknown-signal)]
             (-> model
                 (update :signal-events concat [unknown-signal-event])
                 (update :next-signal-id inc)
                 (reconcile [::component signal-id action]))))))

;;;;;;;;;;;;;;;;;;;;;;;; View model
(defn -wrap-view-model
