Introduce ILayout, IComponent and IView
Enforce naming convention