             nil)
         (car/return (view-model session-id))))
     nil))
+
+(def CreateArg
+  "Session-creation args"
+  {(s/optional-key :browser-name) s/Str
+   (s/optional-key :capabilities) Capabilities
+   (s/optional-key :node-id) s/Str})
 
 (defn create-session
   [{:keys [browser-name

  "Asynchronously point a session to a url.
  Return nil or :webdriver-is-dead."
  (webdriver-go-to-url (resume-webdriver-from-id session-id) url))

(defn modify-session
  [session-id {:keys [browser-name

   (s/optional-key :browser-name) s/Str
   (s/optional-key :node)         NodeView})

(def TagChange
  "Add/remove a session/node tag"
  {:resource (s/either :session :node)
   :action   (s/either :add :remove)
   :tag      s/Str})

(def Requirement
  "A schema for a session requirement."
