First foray into model-view-controller.