Stand alone `exec` that returns promise
Add `deferred` to dependencies