Currently each instrument has its own independent class. All instruments share some general methods (connect, disconnect) that could be put in a general instrument class and inherited. Additionally, abstract subclasses could be created for different instrument types (AWG, Spec An, SMU, etc) to enforce some base level of consistency between instruments of the same type.