   [key]
   (om/transact! reconciler `[(change/view {:view ~key})]))
 
+(defn loading?
+  "Return boolean if ajax request is still in process."
+  []
+  (get-in @app-state [:app :loading?]))
+
+(defn loading!
+  "Set boolean if ajax request is still in process. Defaults to true without parameters."
+  ([bool]
+   (om/transact! reconciler `[(app/loading {:status ~bool})]))
+  ([] (loading! true)))
 
 ;;;; Error messages
 (defn error?

           {:pokemon []
            :user {:view :default
                   :logged-in? false}
            :error {:message nil}}))


;;;; React compatibility

  []
  (get-in @app-state [:user :logged-in?]))

(defn logged-in!
  "Set boolean if user is logged in or not. If no parameters are given, set logged-in to true."
  ([bool]
   (om/transact! reconciler `[(user/logged-in {:status ~bool})]))
  ([] (logged-in! true)))

;;;; About views
(defn current-view
