It should cancel more gracefully than that. Our update code already handles failed/preexisting file removal. Sounds like we should subclass this and not clutter up the UpdateTask.