Add a RequirementCompleteEvent:

This event is called whenever completes a requirement.
It is cancellable.
Actually call the event somewhere.