@Nonnull
    default <T> Promise<T> supplyLater(@Nonnull Supplier<T> supplier, long delayTicks) {
        Objects.requireNonNull(supplier, "supplier");
        return Promise.supplyingDelayed(getContext(), supplier, delayTicks);
    }
Compute the result of the passed supplier at some point in the future

@param supplier   the supplier
@param delayTicks the delay in ticks before calling the supplier
@param <T>        the return type
@return a Promise which will return the result of the computation
helper/src/main/java/me/lucko/helper/scheduler/Scheduler.java