Builder pattern.