else
callback null, token
-login = (callback) ->
+login_callbacks = []
+login = (real_callback) ->
+ login_callbacks.push real_callback
+ return if login_callbacks.length > 1
+
+ callback = (err, token) ->
+ while login_callbacks.length > 0
+ login_callbacks.shift()(err, token)
+
async.waterfall [
(callback) => async.series [
(callback) => @ask prompt: 'username: ', callback