pub type AppEvent<State> = Box<dyn FnMut(DispatchPair, State) -> Result<State, State>>;
pub struct AppEvent<State>(/* private fields */);