I'm not wild about this `instantiate` concept... it would be nice to find a better way to handle the double-replacement scenario. In particular, notice how the ["need to reconnect" localization](https://github.com/mozilla/openbadges/pull/939/files#diff-ce8d074073a7727e66f8235115441442R8) includes an escaped variable. If that's not maintained through all translations, that could inject a security vulnerability into the app.