simplify modified notification

allow the subclass to modification optimize updates
convert properties to functions
simplify orientation updates