Updating a language key on the fly

OK, this is not elegant coding...

My client would like to be able to customize the email sent to new users with a nice interface without having to mess with code.

I have already
written such a plugin.

To overwrite the entry from the usernotificationbyemail plugin (aaargh, I know this is ugly), I do this:

$CONFIG->translations[$language][$message_key] = $message_value;

Immediately afterwards, doing an elgg_echo($message_key) shows the correct new value. However, after the value is updated (the action terminated) I do a forward() to the editing form again, where though elgg_echo($message_key) still shows the old value.

Any ideas what happens?

I know I still need to find a clever way to update the language file itself (otherwise changes are lost on reboot), but for the time being this would meet my reqs.

Thanks for any suggestion.