Use Memoize instead of caching by hand