Implementation of a Builder pattern.