separate queue into own module
[fix] timing issue with `close` event on file streams