Class-ify error messages

I've broken error messages into instances of a `ErrorMessage` class, as we may want to do something cleverer later.