this watcher is a potentially very slow to evaluate. I think limiting the string size to a fixed length (maybe depending on the hierarchy level in the tree) would be enough for most use cases and a lot simpler