Move deletion part of handleDelete logic to surface fragment

Bonus: Add range overriding via update method so we don't
have to call change([], range).

Change-Id: Id7c291b0fb9b7e517253d8b85b334a8be65756e1
Merge "Move deletion part of handleDelete logic to surface fragment"