First time I read this line of the comment I thought it was confusing to say that the "reader" has the responsibility of "producing" messages... perhaps:

```
...
2. Connects and subscribes to discovered/configured nsqd
3. Consumes messages and triggers MESSAGE events
...