watch_directory():
- _add(): Add 300 ms timeout before readir() or stat() to give a chance for all changes to become visible
- refactor transactions using _remove_value() instead of _remove
- refactor transactions using _add_value() instead of _add WIP