Changed API to be more human: beforeAttr handler is now attributeWillChange and beforeText is now textWillChange.