one API. Monitor is started either before main loop, if scanner isn't running, or in the main loop once we finished waiting for the scanner.
specific code to monitor_inotify.c. Both monitor_inotify.c and monitor_kqueue.c provide their functions for adding and removing watches. Prefix these functions with monitor_.