convert update_block service to return deferred; won't return to caller until it finishes