   "Mounts a screen with parameters by setting it as the active
    screen and updating the root wrapper's component query
    according to the screen's layout."
-  [reconciler screen params]
-  (let [app   (om/app-root reconciler)
+  [app screen params]
+  (let [c     (om/app-root (:reconciler (:config app)))
         query [{:workflo/screen
                 [:workflo/navigation
                  {:workflo/layout

                    (let [[k v] (first layout-item)]
                      (assoc res k {:view (-> screen :layout
                                              k :factory)
                                    :props (parser env v nil)})))
                  {} query)})

(defn- wrapping-read

   logic and generates the `:navigation` and `:layout` props
   based on the active screen."
  [{:keys [default-screen reconciler root
           root-js? target screen-mounted]
    :or   {root-js? false}}]
  (set-root-component! root root-js?)
  (map->Application {:config {:default-screen default-screen
                              :reconciler reconciler
                              :target target
                              :screen-mounted screen-mounted}}))
