Added 'new fields' to the changed observer

I found that also having access to what the new value of a collection property's object is can be helpful. I have added it to the end of the `changed` observer callback so that I don't break the existing API.

I have also extended the `changed` test to reflect the new callback arguments