title: why a service does not receive events
body: <p>I have some code that was working in a controller. I refactored and moved that functionality into a service. The code had an event listener:</p>
  
  <pre><code>$rootScope.$on( .....)
  </code></pre>
  
  <p>This was caught when it was in the controller, but does not catch the event when in a service. I have tried using <code>$rootScope.$broadcast()</code> and <code>$rootScope.$emit()</code> to signal the event but neither are caught in the service.</p>
  
  <p>There is nothing special about the service code:</p>
  
  <pre><code>heartbeatService.$inject = [ '$rootScope', 'vcapChanService', 'eventService', 'logger' ];
  function heartbeatService( $rootScope, vcapChanService, eventService, logger ) {
      //....
  }
  </code></pre>
  
  <p>Question: how do I get a service to catch events on the root scope?</p>
  
  <p>Edit with more info: The event is signaled from another service. And this event is caught in other controllers, but is NOT caught in another service. I have tried all variations of service/factory, emit/broadcast, etc. and none of them work. The service just does not catch the event but in all other regards works perfectly.</p>