Work in progress on the builder pattern