Use `bluebird` instead of `promise` to be 100% Promises/A+ compliant