Begin refactoring DirectoryIterator class