Stopping Business Events with Triggers

I am currently trying to figure out how to prevent a business event from commencing based on some criteria, or to modify the business events object within the trigger.

We have an Object called “Sprint” that can be in a “Locked” state.
We also have tasks that are referenced against that Sprint Object.

What we want to be able to do is prevent the “MODIFY_TASK” business event from occurring if the Sprint Object is in the locked state, or most preferably, modify the Task Object on the way through the event to prevent only certain fields from updating.

I have been able to intercept the Task Object in the trigger and modify the $object->fk_task_parent field to be equal to the $object->oldcopy->fk_task_parent field, but the update occurs regardless.

Any insight around this?

Thanks