Factored-out memoization from base object operations