/// Abstraction for representing event that can hold any data type.
#[derive(Debug)]pubstructEvent<T>{/// event data which can be processed by handler
pubdata: T,
}impl<T>Event<T>{/// create a new event.
/// ## Example
////// ```no_run
///struct MyEventData {
/// // Define your event data structure here
/// }
////// // Create a new event
/// let event_data = MyEventData { /* initialize your event data */ };
/// let event = Event::new(event_data);
/// ```
pubfnnew(data: T)->Event<T>{
Event { data }}/// return the data that held in event.
pubfnget_data(&self)->&T{&self.data
}}