Initial review

The most recent commit message is so accurate.

I'd consider using the actual value from st_mtime for these timestamps, treating it more like an opaque etag than a timestamp.  Not only is it fewer calls to `time.time()` but it might avoid some weirdness if there's any clock motion on the system.  It would be like:
```
self.last_check_mtime = os.stat(path).st_mtime
```
and then
```
if self.last_check_mtime != os.stat(path).st_mtime:
    ...do the refresh...
```