WIP: Component view framework

This doesn't need to be eager, because it's an `EventSubscriber` and will be activated by the `EventSubscriberHost`.