We have a tendency to create $.Deferred rather than returning the results of things which already return $.Deferred. We should also prepare for ES6 by getting our usage of promises consistent (e.g. resolving with single parameters). The Nearby page uses a geolocation gateway that hasn't been abstracted as a gateway.
For cases where we need to resolve something without doing an already async event (e.g. ajax call) we will use a base class Gateway - that has 3 methods - resolve and reject and Deferred