pub trait System<F: Read + Write> {
// Required methods
fn open_config(&mut self) -> MyResult<Option<F>>;
fn create_config(&self) -> MyResult<F>;
fn load_history(
&self,
editor: &mut CommandEditor<'_>,
alias: &str,
) -> MyResult<()>;
fn save_history(
&self,
editor: &mut CommandEditor<'_>,
alias: &str,
) -> MyResult<()>;
fn remove_history(&self, drivers: &BTreeMap<String, Driver>) -> MyResult<()>;
}