I know we're a little late in the peace here, but I'm wondering if maybe we should take a leaf from the logging and messages frameworks - have a single Message class, with a "level" argument -- so you can raise ERROR, WARNING, INFO, CRITICAL, etc. I'm suggesting this purely for API consistency.