Finished implementation of builder pattern.