It may already work this way and I'm just slow to understand, but does createAsync wait for all Promise attributes to resolve before resolving itself? If so, does factory.async just promisify its argument?
Seems like createAsync would work seamlessly with promise based APIs without ever needing factory.async.
Is there an opportunity here?