   (support/enable-one!)
   (let [state (app-state)
         top-level-node (find-top-level-node)
-        history-imp (history/new-history-imp top-level-node)
-        ab-tests (get-ab-tests (:ab-test-definitions @state))]
+        history-imp (history/new-history-imp top-level-node)]
     ;; globally define the state so that we can get to it for debugging
     (set! state/debug-state state)
     (browser-settings/setup! state)
-    (main state ab-tests top-level-node history-imp)
+    (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}])


(declare reinstall-om!)

(defn install-om [state ab-tests container comms]
  (om/root
   app/app
   state
   {:target container
    :shared {:comms comms
             ;; note that changing ab-tests dynamically requires reinstalling om
             :ab-tests ab-tests
             :timer-atom (timer/initialize)
             :_app-state-do-not-use state
             :track-event #(analytics/track (assoc % :current-state @state))}

  (swallow-errors
    (assoc [] :deliberate :exception)))

(defn ^:export app-state-to-js
  "Used for inspecting app state in the console."
  []
  (clj->js @state/debug-state))

(aset js/window "app_state_to_js" app-state-to-js)


;; Figwheel offers an event when JS is reloaded, but not when CSS is reloaded. A
