Selector implementations should ideally have a strategy to lazy-construct any large data structures (eg mesh AABBTrees, etc). Again this is to avoid excessive overhead when the user (for example) selects a large object but has no intention of doing element-level selection.