Fix up some documentation issues.
Start work on extracting out Message core into a Facade that a Provider
can replace with it's own lower level implementation.