Apply recommendations from Async/reactive development experts for our async APIs
Description
In particular it seems we should use CompletionStage instead of CompletableFuture in our APIs. There may be other recommendations, I still have to read a document that was given to me (internal link)