Dev League Coding Challenge

Submitting this for review.  Don't foresee myself modifying this much after this point, but I believe all the functionality requested is present.