A simple abstract class developers can use to detect changes to a directory (nonrecursively) and fire callbacks as a result.