Description
Add the ability for property() to take a map as an input. The expectation is that this will unwind the map and save each property to the incoming element. Expected signatures are:
```
property(Object)
property(Cardinality, Object)
```
When the cardinality is specified that will be applied to all elements in the map. If users need different cardinalities per property, then they are expected to fall back to the existing pattern of stringing multiple property() calls together.