implement "chores" (time-based events)