Introduce a MessageType enum and use that instead of QString
Using string is error prone. I keep forgetting stuff like whether its "Warn" or "Warning"? and in some places used i18n for the type which is incorrect. An enum in the interface makes a lot more sense