extract collector to the subclass that collects

remove from the generic visitor pattern base class