fix missing done callbacks.
bluebird -> promise. bluebird made optional dep.