Introduce attribute morph, pass it to hooks
setContent instead of update
Introduce setProp, update attribute morph to have similar behavior