refactoring message listener clases