this is good and clear.

---

Just for fun, cool trick I learned:

```python
custom_defaults = {
    'id': 131073,
    'ui_type': EndEffectorProperties.CUSTOM_GRIPPER,
    'manufacturer': 'Rethink Research Robot',
    'product': 'SDK End Effector'
}
prop_msg = EndEffectorProperties(**custom_defaults)

---

Out[68]: 
id: 131073
ui_type: 3
manufacturer: Rethink Research Robot
product: SDK End Effector
serial_number: ''
hardware_rev: ''
firmware_rev: ''
firmware_date: ''
controls_grip: False
senses_grip: False
reverses_grip: False
controls_force: False
senses_force: False
controls_position: False
senses_position: False
properties: ''



```