 (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"

     [:hr]
     [-initial-model-view @initial-model]
     [:hr]
     [-signals-view @signal-events @action-events dispatch]]]])

;;;;;;;;;;;;;;;;;;;;;;;; Middleware
(defn -wrap-load-from-storage

  (let [unlisten-shortcuts (atom nil)]
    (fn control
      [model signal dispatch-signal dispatch-action]
      (letfn [(record-and-dispatch-to-app [signal parent-signal-id]
                (let [signal-event (-signal-event (-> @model ::debugger :next-signal-id) parent-signal-id signal)
                      intercepted-dispatch-signal #(dispatch-signal [::on-app-signal (:id signal-event) %])
                      intercepted-dispatch-action #(dispatch-action [::app-action (:id signal-event) %])]
                  (dispatch-action [::record-signal-event signal-event])
                  (app-control model signal intercepted-dispatch-signal intercepted-dispatch-action)))]
        (match signal
               :on-start
               (do
                 (record-and-dispatch-to-app :on-start nil)

                 (let [shortcut-handler (KeyboardShortcutHandler. js/document)
                       key (goog.events/listen shortcut-handler
