fix(change_detection): should properly support objects with equality

Fixes #670