In the past when there was a real need of keeping the number of processes small, it was useful to produce libraries to embed inside a process directly. Meanwhile, the number of processes is not really bounded by any practically relevant number, at least on personal computers, while there are a lot of different programming environments which make it harder to port and include libraries on different platforms, so I tend to think that it is a good thing to sometimes just have a helper-app which you run in an external process and communicate through stdout and stdin. This also makes programs more stable, since if the subprocess crashes (which might happen when the library you use has a bug), the whole software wont necessarily crash.
And well, thats how you can use fileschanged. And thats why I like fileschanged. There is also a debian and ubuntu package.
And on the other hand, you can use it inside bash, as the examples on the site linked explains.