`oldValue`, `newValue` are unused