Introduce OutputWriter.preCollect() hook + rename OutputWriter.flush() in OutputWriter.postCollect()
Add FileOverwritterOutputWriter