Moved all error messages into type class attribute MESSAGES. A metaclass will merge all MESSAGES dicts. Pass in `messages` dict at instance level to override error messages per instance.