what about checking `isNewValue` here instead? Is that sufficient?