Using $emit (instead of $broadcast)

- interesting to see the difference, and that angular has 2 different
words that allow you to control how event transmission happens

- $emit goes currentScope up, $broadcast is currentScope down for
traversing the scope inheritance chain and passing things along.

- using $emit/$broadcast is a good way to avoid traversing the scope
chain manually by accessing parent scopes and thus tightly coupling
yourself to the scope chain hierarchy
Stops Propagating the event
- the goal is to avoid expensive scope traversal, we can stop the event from being broadcast any further than the scope that cares about that event