fix(change_detection): should properly support objects with equality