Use composition instead of inheritance for SiLA Data Types
Description
see title
Use cases / Benefits
Protobuf made all generated message classes final in the latest version. I.e. we cannot inherit from them anymore to add our extended functionality.
To still have these convenience classes, we need to wrap them by using composition.
Proposals
It's probably a good idea to have an (abstract) base class for a SiLA Data Type and have all other classes inherit from this class. All other classes simply have a member of the corresponding protobuf generated SiLA Type and provide all of their methods through this member.