some more refactors
removed un-used class
removed redundant method and resolved the caller + previous commit fixes
Changed the event interface to make only the getter methods as public
and changed the set methods visibility to protected.