pub trait State: 'static { fn update(&mut self, ctx: &mut Context<'_>); fn draw(&mut self, ctx: &mut Context<'_>); }