How can I do memoization in Pharo?

I mean, a generic mechanism that will help me wrap the caching around the method invocations / messages.

I have expensive calls that do not have to refresh their results as often as they are called.

TIA
Phil