responding to changes to a single task should be its own helper