added a context to the translator that will store translation state and be more easily testable