added 'checkTrackingCriteriaMet' to split out some of the logic that was previously shoehorned into 'persistSuspendData'. also refactored onAssessmentComplete so that events occur in a more logical order. Finally changed all the bloody space-identing to tabs ;-)