Also added a pre-commit hook to ensure that the definitions files are up-to-date.
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.