pub trait Actor {
// Required methods
fn start(&self) -> ActorResult;
fn name(&self) -> &'static str;
// Provided methods
fn wait(&self, handles: ActorResult) -> Result<()> { ... }
fn start_and_wait(&self) -> Result<()> { ... }
}