pub trait Pulse { // Required methods fn frame(&self, work: Duration); fn idle(&self); // Provided method fn label(&self, _label: &str) { ... } }