pub trait Producer { fn produce( &self, value: &Value, state_manager: &StateManager, device_address: u16 ) -> Option<Packet>; }