Classes that generate instances from different kinds of input or data structures.