Display error messages in the MUC view.
Move themed text generation into a separate module.

This code is fucking awful, I should have designed the architecture and UI before writing all of this.