This extracts the logic for various fileset deletion strategies into separate classes. This simplifies the code and makes it easier to test the individual functionalities.