pub trait Component<T> {
// Required methods
fn handle_message(&mut self, message: WindowMessage) -> Option<T>;
fn draw(&self, theme_info: &ThemeInfo) -> Vec<DrawInstructions>;
fn focusable(&self) -> bool;
fn clickable(&self) -> bool;
fn name(&self) -> &String;
}