Refactoring

Refactored to use interface for event service implementations