made the exchange context a fully public struct that only sets up data members, see http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Structs_vs._Classes