Watch a file for changes
the file to watch
the event that is triggered when the value (after transforming) has changed
an event that can be triggered to request the watcher to stop
a function that transforms a File into a value of type R