an object for keeping track of the tree of a directory, and following changes