Can you suggest a better name? It makes sense to me the way it is, the domain is low level in this case. Why you do it? Because subject need to pretend to have the same array access that the wrapped object does.