An interface to allow model objects to offer a consistent lenient equality check.
Implementations are free to declare what this means in the specific context, but it is expected that this be used to
imply a business logic unique. For example, contact details that are not yet persisted might be equal to a persisted
contact in every way except that the server controlled fields of key, createdDate, modifiedDate etc are not yet