move inotify_observable to a public header