Major refactoring for message receivers