Controller - View approach

Closes #2 
Closes #10
Okay, that will do for the moment. It's easy enough to change, granted, but I can't say I'm a fan of coupling header, search and menu controllers like this. It's something that should be handled by custom subclasses rather than be prescribed by base components.