how about this pseudo code and make like an awardPoints.inc in the attributes package, Grey.
Code:
function AwardPoints(mobile, type, num_points)
var point_list = GetObjProperty(...)
if ( point list isnt a dictionary )
point_list = dictionary
endif
point_list[type] := CInt(point_list[type])+num_points;
CheckIfEnoughPointsToAdvance(mobile, byref point_list[type]);
SetObjProperty(mobile, "AwardedPoints", point_list);
endfunction