pub trait WindowLike {
// Required methods
fn handle_message(
&mut self,
message: WindowMessage,
) -> WindowMessageResponse;
fn draw(&self, theme_info: &ThemeInfo) -> Vec<DrawInstructions>;
fn subtype(&self) -> WindowLikeType;
fn ideal_dimensions(&self, dimensions: Dimensions) -> Dimensions;
// Provided methods
fn title(&self) -> String { ... }
fn resizable(&self) -> bool { ... }
}