The Class wraps the Key for the IDables Add it a field in every DefaultIDable Make it the Key of the Map in the Generic IdableRepo Fix UnitTests accordingly Now GradeTable and Course Classes are not Dependeble on the Student and Course Classes They just hold a IdableKey that is just a Long