Keep directory contents cache per each watched directory.
Scan initial directory contents when adding a directory.

May be time consuming potentially and a blocking operation.
Check all attributes of interest.

Still, the directory does not report changes inside files contained
in this directory, only add/remove operations.
Check file sizes and last modification times manually.
Add a simple test which prints what changed in the directory.