Some code for using the builder pattern