The Graja result hierarchy is as follows:
At the root we have a Result object that contains one AssignmentResult object.
An AssignmentResult is the root of all results for a single assignment.
Below an AssignmentResult Graja stores AbstractGradingAspectResults in a successively deeper hierarchy.
Any result object in this complete hierarchy stores an achieved score and holds a link to the respective node in the request hierarchy.