That said, are you be able to extract a method from it that would the read the file and create a new file with the new content and return a Future when everything is done?
You'd have to use a Completer to translate the reader.readAsArrayBuffer() to a Future.