Exercises are from "Big Java" by Cay Horstmann Ch12, Object Oriented design.