code: public static CompletableFuture<Void> runAsync(Runnable runnable, Executor executor) {
      return asyncRunStage(screenExecutor(executor), runnable);
    }
docs: Returns a new CompletableFuture that is asynchronously completed by a task running in the given
  executor after it runs the given action.
  
  @param runnable the action to run before completing the returned CompletableFuture
  @param executor the executor to use for asynchronous execution
  @return the new CompletableFuture