Homework for Builder pattern.