     "No user interaction nescessary."))
 
 ;We can totally get away with only rewriting this namespace, just make each function take a keyword as argument, no argument, give us first in list.
+;What do we do if we don't have provider name as key:value?"
 (defn set-oauth-params
   "Set oauth-parameters for use in call to get token"
   [params]
-  (let [old-app-state @lma/app-state]
+  (let [old-app-state @lma/app-state
+        provider-name (:provider params)
+        ]
     (->>
       (if-not (:response-type params)
         (lma/add-response-type "code" params)

      (lma/add-state) 
      (merge old-app-state)
      (lma/add-encoded-auth-string)
      (reset! lma/app-state))))

;Here we either supply our key or don't. If no key, just return (first tokens)
(defn oauth-token
  "Retreive oauth token for use in authentication call"
  []
  (:access_token @lma/app-state))


;Here we pass the name of our provider, :spotify or "spotify" or whatever
(defn refresh-token
  ([] (lma/get-tokens (first @lma/app-state)))
  "In case of emergency token refresh, we supply this function."
  ([provider] ( lma/get-tokens (provider @lma/app-state))))

;Should we just init everything at once.
(defn init
  "Init oauth token request cycle."
  []
