Message class, a new example, some other changes

(Don't merge this yet. I've created the PR so either of us can more easily review the changes, but they're not complete.)