seems like you could create all these streams without the async.map and async.parallel and then just run them all. the only async things in this whole block are calls to .run()