pub trait Device {
// Required methods
fn read_mem(
&mut self,
address: i64,
buf: &mut [u8],
) -> Result<(), Box<dyn Error + Send + Sync>>;
fn write_mem(
&mut self,
address: i64,
data: &[u8],
) -> Result<(), Box<dyn Error + Send + Sync>>;
}