Better methods for saved messages.

Most subclasses should only need to customize the message text in getSavedMessageText() but add a few methods to allow subclasses that need more control of the whole process.