Improved the public Login method.

By putting the actual login code into a closure inside Login, we avoid
requiring Login to have a token parameter, which is ugly. This is far
more elegant.