Promise api more similar to Promise/A+