Depending on the implemented traits the lua class will inherit from the associated interface class. It also specifies the constructor function for each of the devices.