minor refactorings.
add class Exchanger by following "tell, don't ask" principle.