         ws-tap (chan)
         errors-tap (chan)]
     (routes/define-routes! state)
-    (install-om state container comms)
+    (install-om state container comms instrument?)
 
     (async/tap (:controls-mult comms) controls-tap)
     (async/tap (:nav-mult comms) nav-tap)

  (mixpanel/set-existing-user)
  (let [state (app-state)
        top-level-node (find-top-level-node)
        history-imp (history/new-history-imp top-level-node)]
    ;; globally define the state so that we can get to it for debugging
    (def debug-state state)
    (browser-settings/setup! state)
    (main state top-level-node history-imp)
    (if-let [error-status (get-in @state [:render-context :status])]
      ;; error codes from the server get passed as :status in the render-context
      (put! (get-in @state [:comms :nav]) [:error {:status error-status}])

    mya))


(defn install-om [state container comms instrument?]
  (om/root
   app/app
   state
   (merge {:target container
           :shared {:comms comms
                    :timer-atom (setup-timer-atom)
                    :_app-state-do-not-use state}}
          (when instrument?
            {:instrument (fn [f cursor m]
                           (om/build* f cursor (assoc m :descriptor instrumentation/instrumentation-methods)))}))))

(defn find-top-level-node []
  (sel1 :body))
