allow user code to reject updates
cleanup