Interface information in geometry
Either of:
- when adding an interface, register its presence with the geometry of choice; when connecting an interface, update the geometry accordingly. Handle inheritance somehow? Complicated and maybe an abstraction violation?
- have a reverse lookup in the Component to query all Interfaces; then each Interface should respond to a query with some data structure indicating status. Then geometries can query to see the status of their interface relationship when necessary. Cleaner but probably considerably slower since most geometries aren't interfaces but will still query.