pub trait DataReducer { type Channel; type Action; // Required method fn reduce( &mut self, action: Self::Action, ) -> ChannelSelection<Self::Channel>; }