the application should take care of this, yes. refresh should not be needed. i think i already commented somewhere to use getCachedNode on the node children to mark them dirty. theoretically we could miss some descendants with this method though. maybe we need to implement a ObjectManager::getCachedDescendants($path) method that goes through all cached nodes and finds those that have the path starting with $path...