pub trait Task { fn initial_label(name: &str) -> String; fn name(&self) -> String; fn run(self, tx: &EventSender) -> Result<()>; }