Events in a workflow should be able to be set to fire based off of the proximity to a task's due date (for firing actions the day before it's due, or the day it's due, or X days overdue, etc)