introduced memoization and entity wrapper mixins