es6 Native Promise Defer that helps build promise/callback dual APIS
A backport of util.callbackify
for Node.js 6.0 and up.
Use generators and yield to write regular callback-based functions
Provide flexible methods that accept callbacks and return promises without requiring a Promise implementation exist