Refactored Messenger