Ben Heasly submissions for USM COS576 Advanced Object-Oriented Design Summer 2014