memoize and invalidation - backwards?

Maybe this is because I'm missing something but it seems to me that
asking users of a memoized method to know when the method needs to be
reloaded is a bit backwards. To me it seems like whoever is messing
with something that affects the results of the memoized function
should be the one that after doing its work should call something like
memoized_method(:reset). Thoughts?