The ThunarVfsMonitor should enable upper layers to easily watch specific files for changes. The backend used by the notification system should be flexible, probably similar to the way this is handled for the ThunarVfsVolumeManager framework. Possible backend technologies are kqueue, fam and gamin. The system should use regular polling as fallback. The system must be thread-safe (not the interface, tho).
ThunarVfsMonitor uses FAM/Gamin now, which in turn may use advantages monitoring techniques such as imon, kqueue, dnotify or inotify.