implementace merge class, commons
refactoring and redesign
split class copies data
add better validation, extends new property api for o2o, o2m, m2o and m2m