Refactored out the Selector mode so that the implementation can be
configurable.