change collecting results of tests, fixes #26

- formerly, the collecting of the tests was implemented with collect,
  but in typical usage scenario the listener will use sink to process
the messages on the run
- remove duplication of code