It feels little awkward that 'end' is fired with `results` regardless of errors. I was under impression it would fire with first error in case of error, but when I think about it feels kind of wrong too. I think only reasonable end would be `results` if there is no error and `null` if there is an error.