First cut of gradebook refactor...