Use std::deque instead of std::queue
Add the serialize and load features to the watcher