The promise interface is exposed to JS and I can create Promised from JS. If you need to create yet another Promise shim here, but must prove (by test case) that it is interoperable with the Promise impl in Blink, which some APIs are already using.