I would change: 
> Creates a Promise interface

to: 
> When invoked, returns a Promise object that represents ... 

Using the word "interface" in the above is confusing, as it just creates an instance of an object that implements the Promise interface .. but does not create an interface itself.