Added component renderer which observes all views
Refactored renderer internals