replaced constructor injection with service locator
major refactoring for messages