I'm having an async problem with a program I'm writing. Ideally I'd like to do an "atomic" update of a value in database/file. I first need to read a value, modify it (eg. increment it), and then write it. As the read and the write operations are both asynchronous, and I'm doing the operations on the on('data') event off a stream, by the time I'm getting the next on('data') event, the write hasn't finished, and it's reading the old valu