use fn.call to keep local functions within the right context
update bindings to reflect updates to localize and support l10n-args