AddMessage, Validation specs and refactoring