Simplify communication between your AngularJS components by subscribing to controlled, namespaced 'shared data' objects. Treat them as regular JavaScript objects: updating a value will immediately propagate to all other subscribers. Assign them to a scope, hook up an ng-model and watch Angular's 2-way binding break out of its controller confines.