pub trait PixelView: Debug {
// Required methods
fn set_position(&mut self, top_left: Coord);
fn bounds(&self) -> &Rect;
fn render(&self, graphics: &mut Graphics<'_>, mouse: &MouseData);
fn update(&mut self, timing: &Timing);
fn set_state(&mut self, new_state: ViewState);
fn get_state(&self) -> ViewState;
}