 (def tabs
   [
    {:key :countries
-    :url ["countries"]
+    :url-path ["countries"]
     :title "Countries"
     :component CountriesTab
     }
    {:key :oceans
-    :url ["oceans"]
+    :url-path ["oceans"]
     :title "Oceans"
     :component OceansTab
     }
    {:key :hello
-    :url ["hello-world"]
+    :url-path ["hello-world"]
     :title "Just «Hello, World!» in it"
     :component HelloTab
     }

  (get-tab-by-parsed-url tabs initial-url)
  )

(def initial-component
  (:component initial-tab)
  )

(def initial-query-for-root
  (when initial-component
    (om/query initial-component)
    )
  )

(def initial-params-for-root
  (when initial-component
    (om/params initial-component)
    )
  )

;; Components

(defui RootView
  static om/IQueryParams
  (params [_]
          initial-params-for-root ; here and below, we're passing (pre-computed) value
                                  ; and not doing function calls
    )

  static om/IQuery
  (query [_]
         initial-query-for-root
    )

  Object
  (render [this]
          (let []
            (dom/div #js {:className "container"}
                     ;; Tabs (navigation)
                        (apply dom/ul

  static om/IQueryParams
  (params [_]
          ; ...
          {}
          )

  static om/IQuery
  (query [_]
         '[:hello]
         )

  Object
  (render [this]
          (dom/div nil
          "something"
               )
          #_(apply dom/ul nil
                 (map (fn [ocean]
                        (dom/li nil ocean)
                        )
