Adding listener
Added tests for listener and fixed a few bugs
Updated docs with example of how to use listener
More documentation... specifically for exchanges