I work on an IoT project where we support more than a dozen device models, each of which has specialized functionality, but with functionality often shared across models. Ea