Use a cache for the calculated attributes