Maybe I'm misunderstanding how promises are generated, but shouldn't this be `new promise.constructor(function(resolver) { /* */ })` to match the `new Y.Promise(promiseFn)` case?