a class implements many variations of a certain responsibility
extract a class hierarchy with a class for each responsibility
Context: See also :Collapse Hierarchy,
Extract Hierarchy[Fowler],
Replace Type Code With Subclass[Fowler],
Replace Type Code With State/Strategy[Fowler]