We Don't have to do it this way (especially since we already have a working version), but I think it would be neat if we could just use the staging file like a FileOutputStream all on its own, and then the "magic" happened on close/commit