Make message_type optional in BaseService