Refactored action message construction

I simplified the way action messages are generated. Now there's no markup in translatable strings, it's less error-prone and it's easier to read both for translators and developers. Up for review.