Adding compression

Looking at both, I think the `.on('data')` is slightly cleaner... at least you don't need to return anything from it.