Separating Listener, and making it event-based.

Also made a test-suite for it.
Updating documentation for events.

Deprecating the onXXX config callbacks.
[fix #79986772] Code review changes.
Merge pull request #18 from expectlabs/feature/eventedListener

Separating Listener, and making it event-based.