Data and code used to instantiate a class is sprawled across numerous classes.
Move the creation knowledge into a single Factory class.