pub trait Component {
type RenderState;
// Required methods
fn mode(&self) -> Mode;
fn render(
&mut self,
frame: &mut Frame<'_, CrosstermBackend<Stdout>>,
chunk: Rect,
render_state: Self::RenderState
);
fn handle_event(&mut self, app: &mut App<'_>, event: Event) -> Result<()>;
}