Promises are now ES6/IDL territory