Feature/listen for status change and show in view

I am confused. Why would not not be a generic service? I mean, the socket service in essense is a way to connect to a backend using a websocket implementation. The functional scope of the socketService should be no more than putting data on the socket that it is instructed to communicate to the server, and read data from the socket and translate that to objects to send to an interpreting service that can actually interpret the data that has been received.

The interpreting service should interpret the JSON data and publish the events that correspond to the interpretation of that particular data. E.g. data received that describes an updated status of a running test should result in a different event than data that describes a test run result. Or to make it more clear, data that tells you that some other user has started a test run, to which you may or may not subscribe depending on your interest in that particular case. It would probably make sense to let this interpreting service that responds to data received from the socket service be a provider service.

You can actually even consider that there will be multiple providers responding to the socket service, each with their own interpretation of the data that is received.

So basically a socketService should do no more than what its name suggest: facilitate communication with a socket.

For the difference between $emit and $broadcast, yes, I know that description and it actually describes exactly what I meant to say. I don't see why you would ever want to let the $rootScope use an $emit, because the root scope has no parent and the behavior of $emit is that it bubbles up through parents of the scope at which it is published. This means that there will be only one scope in this case that is notified of this event, and that is the $rootScope itself. 

If you were to use $broadcast in this case, you could actually subscribe to the event within controllers using the controllers local $scope, and you wouldn't be forced to reference $rootscope. 

Please consider my other comment as well, since it is strongly linked to this one. I am not trying to be a hassle or a know it all, I'm just concerned about the quality of the code that is being written and if it actually embraces the one big reason why we chose to use Angular. If I am overly concerned, let me know.