1. An event listening system, the event listening system comprising: a file system including a plurality of files, the plurality of files logically stored in a tree; a first data structure configured to track, for each of the plurality of files, a set of listening files that are listening for events that affect the corresponding file; a plurality of processes that each listen for events that affect at least one of the plurality of files; a second data structure configured to track, for each of the plurality of files, which of the plurality of processes are listening to the corresponding file; a listening module configured to receive an identifier for a first file of the plurality of files and to determine, using the first data structure and the second data structure, whether the first file is relevant to any of the plurality of processes; a traverse module configured to traverse a first set of first data structures that correspond to a subset of the plurality of files that represent one branch of the tree including the first file; and an update module configured to update at least one of the first data structures in the first set corresponding to the file in at least one traversed level by reviewing a scope of at least one of the listening files of the first data structure that corresponds to the file's parent.