Having a background in WPF with Prism, I am familiar with the IEventAggregator interface. It allows you to define events that can be subscribed to from controllers and then triggered by another controller. This method enables communication between controllers without them being aware of each other.
I'm curious if there is something similar in AngularJS?
For example, I have a top-level controller for an index.html page that includes three sub-panels, each with its own controller. I want the top-level controller to have the ability to call the refresh() function on the panel controllers even though it doesn't have direct access to those controllers.