pub type ActionExtHandler<T, S, A> = Box<dyn FnMut(A, &mut MMState<'_, '_, T, S>) + Send + Sync + 'static>;
pub struct ActionExtHandler<T, S, A>(/* private fields */);