Use async visitor

Add Translator
Add TranslatorAsync
Make Evaulator use TranslatorAsync