Homework for Factory and Prototype patterns.