#27 - Refactored goal evaluation to produce an enumerated return code
and no side effects, leaving the goal state machine to handle
achievement records and updating of the disposition attribute.