code: public <T> CompletableFuture<T> submit(Command<T> command) {
      CompletableFuture<T> future = new CompletableFuture<>();
      context.executor().execute(() -> submitCommand(command, future));
      return future;
    }
docs: Submits a command to the cluster.
  
  @param command The command to submit.
  @param <T> The command result type.
  @return A completable future to be completed once the command has been submitted.