Make the sidebar hidable.

Added new controller to handle the main content area.
Used the event service to propagate the event to all affected controllers.
Extracted an event name map outside the angular scope.