Interface for Objects that have a label, whose label is an Object.
There are only two methods: Object label() and Collection labels().
If there is only one label, labels() will return a collection of one label.
If there are multiple labels, label() will return the primary label,
or a consistent arbitrary label if there is not primary label.