An interface to be implemented by classes providing a way to uniquely identify their instances.
This interface only requires instance IDs to be unique among instances of the same class within
the same JVM. However, implementations may provide farther-reaching uniqueness, for example by
using globally unique identifiers generated by UUID.