To enable different research activities to define or use properties, without having to update the model components when new ones are required, we should try to define a separate mechanism.
For example, we could have a property registry, based on a property type and class type (i.e. model component class), it could provide a boolean response as to whether the model component supports the property.