Refactored functors to classes of functors.