Given the following text:
The basic component types are:
- little component: the most basic type
- model component: for components that will have maintain abstract data model
- evented component: for components that want to fire events
- view component: for components that have a user interface
- renderer component: for components that want to render the user interface using a template
These types of components build upon each other, a teeny little bit like inheritance:
- model and evented components add support for models and events (respectively) to little components
- view components support models and events, and also add support for views.
- renderer components are view components with the Renderer added.
Which of the following diagrams better represents these concepts?