fix(change_detection): should properly support objects with equality

Closes #735
Fixes #670