pub trait Widget: Debug + 'static {
// Required method
fn build(&mut self, _ctx: &mut Scope);
// Provided methods
fn store_in(self, parent: &mut Scope) -> ViewId
where Self: Sized { ... }
fn show_in(self, parent: &mut Scope) -> ViewId
where Self: Sized { ... }
fn mount_to(self, ctx: Scope, parent_node: &Node) -> ViewId
where Self: Sized { ... }
fn attach(&mut self, _ctx: &mut Scope) { ... }
fn flood(&mut self, ctx: &mut Scope) { ... }
fn patch(&mut self, _ctx: &mut Scope) { ... }
fn detach(&mut self, ctx: &mut Scope) { ... }
fn detach_children(&mut self, ctx: &mut Scope) { ... }
}