Make inheritance instead trait for MessageInterface implementation