DirectoryListener manages its own thread now.