Virtual base class Device
Device master class and virtual inheritance and whatnot now working