Pass the Interface as a pointer to Listener methods.

This allows them to easily send messages.
Add methods for accessing one element of an array (vector).
Add documentation for constructor parameters.