A list (in order) of property keys needed to make the id. These keys can take nested paths if a property is an object, array, or even a model instance object. Example: 'nested.path.here'. Note: If ANY of the properties are undefined, the key becomes undefined. This is to ensure key structure integrity. Additionally, if the property key points to a referenced model 1 of 2 things will happen.
A string that will be passed to ".join()" for creating a single string.
An id that is naturally formed by other properties within a model. Instead of having a "globally unique" id the model is unique because the composition of values of properties.