I've been using $broadcast a lot in my application and I'm doing some optimiations right now and I'm wondering if I should keep using $scope.$broadcast (or $emit) for my inter-service and inter-directive communications or swith to a custom-made message bus.
The problem is that I've been shoehorning $rootScope in a lot of services that don't have anything to do with it other than to listen for scope events.