Implemented more general purpose event system with multiple subscriptions support.