My answer to a previous question may help. It uses a type of observer pattern.

AngularJs update directive after a call to service method

Your service would change to allow all interested controller or directives to either generate or listen for certain events and access the associated data.

sharing state between different controllers in angular
In Bill and Ted's Excellent Adventure, we never see Rufus introduce himself to Bill and Ted. Instead, Future Bill says to Present Bill and Present Ted: "Listen to this dude, Rufus. He knows what he's talking about."

How did Future Bill know what Rufus's name was? Did he read it in the history books?

This has been on my mind for a while.
