pub trait DataStorage: DynClone {
// Required methods
fn get(&self, key: &str) -> Result<Option<Vec<u8>>, String>;
fn insert(&self, key: &str, value: &[u8]) -> Result<(), String>;
fn open(path: &str) -> Self
where Self: Sized;
}