Evolution Interview Question

Solving a simple programming exercise using decent object modeling.