                                                                                    (dissoc m ::debugger))])
                    (update-in m [::debugger :next-action-id] inc))
 
-             ; looks like originating signal could be already cleared -> create "unknown signal" to record this action
+             ; else: looks like originating signal could be already cleared -> create "unknown signal" to record this action
              (reconcile model a))
 
            ; for bare app actions (e.g. when originating signal was cleared) create an "unknown signal" event
            :else
-           (let [[signal-id _ :as unknown-signal-event] (-signal-event (-> model ::debugger :next-signal-id) ::unknown-signal)]
+           (let [unknown-signal-event (-signal-event (-> model ::debugger :next-signal-id) ::unknown-signal)]
              (-> model
                  (update-in [::debugger :signal-events] concat [unknown-signal-event])
                  (update-in [::debugger :next-signal-id] inc)
-                 (reconcile [::app-action signal-id action]))))))
+                 (reconcile [::app-action (:id unknown-signal-event) action]))))))
 
 ;;;;;;;;;;;;;;;;;;;;;;;; View model
 (defn -view-model

(def Schema
  {::debugger {:initial-model              {schema/Any schema/Any}

               :signal-events              [(schema/pair schema/Int "id" schema/Any "signal")]
               :next-signal-id             schema/Int

               :action-events              [{:id        schema/Int

  (->> model
       ::debugger
       :signal-events
       (filter #(= (:id %) id))
       first))

(defn -find-action
