Selection : make this an abstract class with factory ctor that returns a new _SelectionProxy