Used for defining if a given class is singleton or not. If the class is a singleton,
then a single instance will be shared (and hence should be treated as immutable and
be used in a thread-safe manner.)
This interface is not implemented as a marker interface (i.e., it's necessary to read
isSingleton() instead of instanceof(IsSingleton)). This allows for subclasses to have
a singleton status different from a parent and for objects to have this value dynamically
changed.