The IGeometrySelector provides the core implementation of what "selection" means for a given Target, eg like a mesh Component, or mesh object like a UDynamicMesh. The Selector is created by a registered Factory, allowing client code to provide custom implementations for different Target Types. Updates to the Selection are done via the Selector, as well as queries about (eg) renderable selection geometry. 3D Transforms are also applied via the Selector, as only it has the knowledge about what can be transformed and how it can be applied.