Introduce attribute morph, pass it to hooks
Introduce setProperty, update attribute morph to have similar behavior
Merge pull request #225 from mixonic/marph

Marph