static IDisposable beginWatching( IReadFileSystem rfs, string sourcePath, string targetPath, Action<string> sourceChange, Action<string> targetChange) { var src = rfs.beginWatch(sourcePath, sourceChange); var target = rfs.beginWatch(targetPath, targetChange); return new DisposeAction(() => { target.Dispose(); src.Dispose(); }); }