pub trait Command {
// Required method
fn run_with_ctx(
&self,
cli: &Cli,
out: &mut dyn Write,
ctx: &mut dyn CmdCtx,
) -> Result<()>;
// Provided method
fn run(&self, cli: &Cli, out: &mut dyn Write) -> Result<()> { ... }
}