modularise code, add a build process, version build
extract `clone()`
new `castPropertyValues()` convenience method
bump to v1.2.0
Merge branch 'release/v1.2.0' into develop