Distinction between broadcast & send message
Move some function calls to message sending
Separate community code into modules per view
More generic framework for view state management
More streamlined creation of panels: lists