Split and remove TermExchanger in favor of 2 interfaces 
TermUnmarshaller and TermMarhsaller. Better separation of concerns and 
easier derivation.