Well, I would like to treat those changes rather as a refactorization that extracts FilesPipeline and keep the interface. 

I think new functionalities is a separated topic for a separated pull request, probably built on this one.