Maybe we can have a `logoutWith` option which defaults to a resolved deferred.

```javascript
login.logoutWith = function () {
    return request.post(urls.api.url('logout'));
};

// ...

}).on('click', '.logout', function(e) {
    login.logoutWith = login.logoutWith || deferred.Defer().resolve();
    login.logoutWith.then(function() {}, function() {});
});
````