Description
Currently we mix resource changes with logging functions what is quite confusing, beside that the current API has some drawbacks and needs clarification in some cases.
Therefore we should split this into an own package and design a new more modern API (e.g. using Path instead of file, Streams instead of scanners and so on...).
Beside that there is currently a flaw in design that a delete scanner is not really reliable in all cases, e.g. assume a file is deleted outside of control of the provider it won't be noticed. On the other hand files might be left over of previous operations where a copy is involved are hard to track.
For this purpose there should be a new method that allows to mark a file as produced by the plugin together with a way to query all files. A plugin can then collect the files into a set, remove all processed ones and delete the leftover afterwards.