don't fire observers when a set() is called that doesn't actually change the model's value