Do away with the training_for field, compute it instead, then cache it
Setting this is horrible, compute it by finding the highest qual PerformedLesson assigned to that Member.
Can see a number of cases where manually setting this may be an idea, still allow it but don't encourage it.