Functor related classes.