code: public static <R> Function0<R> memoizeSupplierAsync(final Supplier<R> fn, ScheduledExecutorService ex, long updateRateInMillis){
          return ()-> Memoize.memoizeFunctionAsync(a-> fn.get(),ex,updateRateInMillis)
                             .apply("k");
      }
docs: Memoize a Supplier and update the cached values asynchronously using the provided Scheduled Executor Service
  Does not support null keys
  
  @param fn Supplier to Memoize
  @param ex Scheduled Executor Service
  @param updateRateInMillis Time in millis between async updates
  @param <R> Return type of Function
  @return Memoized asynchronously updating function