All objects live in: Selected (actual references) Comps (actual references) Clipboard (actual references) Vertices keep arrays of components they're attached to - but this need not be stored. Components keep track of what vertices they are attached to - this does need to be stored. Components keep track of what high-level component they are part of. High level parts have temporary (must be populated, but not saved) structures of what parts are part of them.