Bug 914475: a setID function will be necessary for example of defining custom IDs, also this will be necessary if `things` can have ids that change, which is necessary for extendability