I'm using async out of necessity because we have a gRPC client.
What is the best way to encapsulate async so that it does not become viral throughout the entire code base? Obviously this means not calling await as that's only possible in async functions.
Must I poll the resultant Futures manually?