Builder pattern implementation.