Added more more descriptions on the design, including a message
superclass.
Updated design document to describe use cases and some more
implementation details.