adapt equals to work with sub-objects and do an id-only comparison