Messenger refactor