Rather than proxy 'then', 'catch', 'finally', 'fail', and 'done' to the underlying promise returned by promiseFactory, it would be nice if the whole api of the promise was exposed. For instance, if I use Q I would like to call .tap or .get on the return value.