use abstract collection classes and make all xml services thread safe