pub trait OutputMessage: Message + Clone { }
Output messages, since they need to be replicated, require Clone in addition to the base Message constraints