pub trait Argument {
// Required methods
fn get_name(&self) -> &String;
fn get_aliases(&self) -> &Vec<String>;
fn add_alias(&mut self, alias: String);
fn is_optional(&self) -> bool;
fn try_parse(
&self,
args: &Vec<String>,
) -> Option<(Vec<String>, ArgumentValue)>;
}