@Nonnull
    static <I, O> ComposedCooldownMap<I, O> create(@Nonnull Cooldown base, @Nonnull Function<I, O> composeFunction) {
        Objects.requireNonNull(base, "base");
        Objects.requireNonNull(composeFunction, "composeFunction");
        return new ComposedCooldownMapImpl<>(base, composeFunction);
    }
Creates a new collection with the cooldown properties defined by the base instance

@param base the cooldown to base off
@return a new collection
helper/src/main/java/me/lucko/helper/cooldown/ComposedCooldownMap.java