This entire method should be defined as a class method. Since it is repeated line-for-line in the Prototype version, it can go in AbstractChosen.