Wraps objects with a proxy that caches return values so that resource intensive functions can be called repeatedly at low performance cost.