Do we really need to pass lang to loadForTopic? Instead, loadForTopic could always use $translate.uses() internally. I think $translate.uses() is always correct, even in a gaLanguageChange listener.