I feel it might be better to give the Index a model that you can just pass through. Seems like it'd make sense, since the components are something you pass through to the index every time.

Unrelated: Why is `ComponentRepository` something within the WebApp namespace? My hunch is that the `Repositories` namespace should be completely separate ... maybe I just don't understand it, though.