trait Persister {
    fn add_item(&self, &Item) -> i32;
    fn change_item_desc(&self, i32, &str);
    fn update_item(&self, &Item);
    fn remove_item(&self, i32);
    fn get_items(&self) -> Vec<Item>;
}

trait Persister {
    fn add_item(&self, desc: &str) -> i32;
    fn change_item_desc(&self, id: i32, desc: &str) -> Result<(), ()>;
    fn update_item(&self, id: i32, last_reviewed: i32, ff: f64, int_step: i32, iri: f64) -> Result<(), ()>;
    fn remove_item(&self, id: i32) -> Result<(), ()>;
    fn get_items(&self) -> Vec<Item>;
}

Rework params of Persister trait methods
Rework params of Persister trait methods
