Robust and decoupled event pipelining for AngularJS