There are many cases where a factory function should be async, for example using async credentials in the factory function. Currently only synchronous factories are supported.