changed how setMessageListener works
Before, when using setMessageListener, all the controllers would look about the same in that area: they would have a commandMap for all the types of messages they were looking for, or, they would just accept a single type of message. Then, inside the listener function body that was passed to setMessageListener, it would call the correct function in the commandMap and then use $scope.$apply to apply it.
Now, the setMessageListener method will accept the co