Factored out common selection list logic into a base class