Moved most of the 'defineAction' code to MessageTemplates.java and did leave only 'createActionArgs' and 'showMessage' methods per message instead of the 'register' method.
Introduced MessageTemplateConstants.java to reduce the size of MessageTemplates.java.
Renamed the message classes to be distinguishable enough from the other classes in the package (HTMLTemplate becomes RichMessage, OpenURL becomes OpenUrlAction, appended 'Message' suffix to the other messages)
Background