Allow user to add router, conversation and channel components

It seems like all of these component management functions are polluting the scope a bit (and it's not just the top-level functions -- there are also things like ``$scope.data``, ``$scope.yes`` which seem effectively like strange global state). Would it maybe be a good idea to factor these methods out onto a separate object than can then be attached to the scope? E.g. ``$scope.conversations = new ConversationModal($modal);``?