I've come into a few places where I'm effectively treating the first required component as what we used to call the primary component.
The only really important thing about the primary component is that is defines the set of instance-keys... but since a required component must be defined for every instance-key, we have two choices:
- Make it an error to use component-level APIs to log required components with different key values.
- When iterating, take the itersection of instance-keys for all required components.
I've come into a few places where I'm effectively treating the first required component as what we used to call the primary component.
The only really important thing about the primary component is that is defines the set of instance-keys... but since a required component must be defined for every instance-key, we have two choices: