pub trait Command:
Send
+ Sync
+ 'static {
// Required methods
fn commands(&self) -> &'static [&'static str];
fn help(&self) -> &'static str;
fn run(&self, s: &Hackshell, cmd: &[&str]) -> CommandResult;
// Provided method
fn category(&self) -> &'static str { ... }
}