Messageformatter refactoring

add support for named arguments to messageformatter parse