Committing the backend code and a couple of bugs I picked up while creating the unit tests.  It is generating some checkstyle complaints due to the use of the Annotations.  It is also complaining about magic numbers and a couple of other things it shouldn't be whining about for the unit tests.  I'll look into a possible fix for this later.