pub trait Component<MSG> { // Required methods fn update(&mut self, msg: MSG); fn view(&self) -> Node<MSG>; // Provided methods fn on_event(&mut self, event: Event) { ... } fn debug(&mut self, s: String) { ... } }