in that case doing one method per command, then separating the "support level" on separate traits is maybe more idiomatic? ```rust pub trait SomeTrait { fn do_command_one(&self) {...} fn do_command_two(&self) {...} } pub trait SomeTraitExtended: SomeTrait { fn do_command_three(&self) {...} fn do_command_four(&self) {...} }