Rationale
Imagine you need to read modify and write back files (not a good idea most of the time, but sometimes you just need), what will happen if something go wrong? Wouldn't it be convinient to have copy of everything just in case?
Usage
var keep = path:osvar some_file = 'some_file.txt'
can be easily disabled in one place
var keep = keep:false
Options
path: 'path to store *.bak files' // if not provided, *.bak files will be stored in same directory with original files keep: true // create *.bak files