Add more documentation/tests.
Add more documentation.
Update 'keys' API;

- Keys can be specified as a list.
- Fix bug in key definition which prevented the use of a method in the client application because it could no longer be reached.
- Minor refactoring of messages.
- Add logging for this area.
Add more logging.
Minor refactoring.
Show 'key' API in use.