Refactor Events to accept all parameters in constructor
Refactor Events to accept all parameters in constructor