I noticed that for complex attributes such as object or array, the newValue and oldValue parameters of the onChange method are exactly the same and pointing on the same object (so the new one).
I don't know if it is the expected behavior, but it could be useful as a user to have a copy of the object before the change in the oldValue parameter.