create single ValueFactory object in BaseExchange implementation, propag...

This patch moves creation of ValueFactory objects to BaseExchange implementations, and propagates the object to the services. Thanks to this, services share single ValueFactory and concurrent calls on different services (but the same exchange) are synchronized on the same ValueFactory.