pub/sub abstraction layer for AngularJS to make managing your events easier