add(sMessage, vTarget) {
			const oMessageData = mMessageKey2MessageData[sMessage];
			const aTargets = Array.isArray(vTarget) ? vTarget : [vTarget];
			this.aMessages.push({
				additionalTargets: aTargets.slice(1),
				code: oMessageData.code,
				id: sMessage,
				message: oMessageData.message.includes(":")
					? oMessageData.message.split(": ")[1]
					: oMessageData.message,
				severity: oMessageData.severity,
				target: aTargets[0],
				transition: !!oMessageData.transition
			});

			return this;
		}
Adds a new message.

@param {string} sMessage
  An identifier which gets the message from the <code>MessageKey2MessageData</code>
  map
@param {string|string[]} vTarget
  The path to the message target
@returns {object}
  this, to allow chaining