#3: BasicViewRenderer can now be a singleton and cache method keys