pub type AsyncEventCallback = Box<dyn Fn(EventData) -> Pin<Box<dyn Future<Output = ()> + Send>> + Send + Sync>;
struct AsyncEventCallback(/* private fields */);