whould it make sense to have setProperty(Node, key, value, isUnset)?