   (let [states (or states (find-all-states))]
     (bring states down >)
     :stopped))
+
+(defn start-with-args [xs & states]
+  (reset! -args xs)
+  (if (first states)
+    (start states)
+    (start)))


;; (defonce ^:private session-id (System/currentTimeMillis))
(defonce ^:private mount-state 42)
(defonce ^:private state-seq (atom 0))
(defonce ^:private state-order (atom {}))


          (throw (RuntimeException. (str "could not stop [" name "] due to") t)))))
    (alter-meta! var assoc :started? false)))

;;TODO args might need more thinking
(defn args [] @-args)

(defn mount-state? [var]
  (= (-> var meta :mount-state)
     mount-state))
