title: Alternative to $broadcast/$emit/$on in triggering events
body: <p>What is an alternative way in AngularJS to trigger events other than $broadcast/$emit/$on. If I will have too many event triggers between controllers and/or directives, I'm afraid this will lead to hard to trace spaghetti events. (Or could it be that too many events is a bad design after all?)</p>
  
  <p>I heard using service/factory is the preferred way. Can someone give me an example how? Or are there other methods aside from service/factory?</p>