Currently WorkflowExecutionListener returns a void, meaning the execution is either blocking (if the listener executes the content into the same calling thread) or async (if the listener executes the content into a different thread)
It would be nice, in the async case, to pause workflow execution till that different thread has finished, for that purpose we need a Listener that returns CompletableFuture.