@Nonnull
    @Override
    public Promise<V> supplyDelayedAsync(@Nonnull Supplier<V> supplier, long delay, @Nonnull TimeUnit unit) {
        markAsSupplied();
        executeDelayedAsync(new SupplyRunnable(supplier), delay, unit);
        return this;
    }
The completable future backing this promise
helper/src/main/java/me/lucko/helper/promise/HelperPromise.java