An example of the builder pattern in action