Further refactoring to eliminate abstract base class.  Only list builder
stays for all uses.