Implements promise and RemoteModel methods.

In that case it is better to use `self` because else you need to add a `bind(this)` on the `Promise` callback as well as on the `getModel().then` callback.