rather then RSVP.defer().

Wrap the whole body of the function is the promise constructor

```js
new RSVP.Promise(function(resolve, reject) {
   // ...
})
```

the constructor pattern is nice and clear. Additionally, failures within the constructor get turned into rejections correctly.