heavy optimization of wrapProperty method
refactored model change notification