refactored - added Error tracking in MessageStatus