Generalize message delivery service.
Add client class.
Fix bugs!