pub type StateChangeCallback<T> = Box<dyn Fn(&str, &T) + Send + Sync>;
pub struct StateChangeCallback<T>(/* private fields */);