A class for recursively traversing directories