@API(status = API.Status.STABLE)
    default CompletableFuture<@Nullable Void> executeFuture(@NonNull CommandContext<C> commandContext) {
        final CompletableFuture<Void> future = new CompletableFuture<>();
        try {
            this.execute(commandContext);
            /* The command executed successfully */
            future.complete(null);
        } catch (final Throwable throwable) {
            future.completeExceptionally(throwable);
        }
        return future;
    }
Handle command execution

@param commandContext Command context
@return future that completes when the command has finished execution
cloud-core/src/main/java/org/incendo/cloud/execution/CommandExecutionHandler.java