Refactoring of Message core methods