Refactoring - protocol base class Message