Memoize future effects using a cache
if this method is called with the same key the previous value will be returned
Memoize Future values using a memoization effect
memoize future result using a cache