pub trait LowLevelDevice<I> { fn new(interface: I) -> Self where Self: Sized; fn free(self) -> I; }
General Device trait
Create a new instance of the device with the given interface
Destruct the device and give back the interface