public CancellablePromise<Void> submit(@NotNull Runnable task) {
    return submit(() -> {
      task.run();
      return null;
    });
  }
public CancellablePromise<Void> submit(@NotNull Runnable task)