 (defn -view-model
   [model]
   (mvsa/track-keys (reaction (::debugger @model))
-                   [:initial-model :persist? :visible? :toggle-visibility-shortcut :signal-events :action-events]))
+                   [:initial-model :persist? :visible? :toggle-visibility-shortcut :signal-events :action-events :highlighted-signal-id]))
 
 ;;;;;;;;;;;;;;;;;;;;;;;; View
 (def -menu-button-style {:margin        "5px 3px"

           [::load new-model]
           new-model

           ; app action coming from specific signal
           [::app-action signal-id a]
           (if (-find-signal model signal-id)
             (as-> model m
                   (app-reconcile m a)
                   (update-in m [::debugger :action-events] concat [(-action-event signal-id
                                                                                   (-> m ::debugger :next-action-id)
                                                                                   a
                                                                                   (dissoc m ::debugger))])
                   (update-in m [::debugger :next-action-id] inc))

               [::on-load content]
               (dispatch-action [::load (cljs.reader/read-string content)])

               [::on-highlight-signal id]
               (dispatch-action [::highlight-signal id])

               ; app signal coming from specific signal
               [::on-app-signal parent-id s]
               (record-and-dispatch-to-app s parent-id)

               ; bare app signal
               :else
               (record-and-dispatch-to-app signal nil))))))

;;;;;;;;;;;;;;;;;;;;;;;; Reconcile
(defn -orphaned-signal?
