#![no_std]
#![deny(missing_docs)]
pub mod middling;
pub trait Middleware<Init, UpdateContext, Surface, Event, EventContext, Control> {
fn on_init(&mut self, init: &mut Init);
fn on_update(&mut self, context: &mut UpdateContext);
fn on_render(&mut self, surface: &mut Surface);
fn on_event(
&mut self,
event: Event,
event_context: &EventContext,
event_control: &mut Control,
) -> Option<Event>;
}