Well, when you give the option to someone to use a function it could be used in a way that it doesn't always return the same selector. You can see an example in the new spec where I would like to render some models of a collection to a list element and some others to another list. Caching can be performed in the itemViewContainer function as well. e.g. by using the this.ui cache.