1. A computer implemented method comprising: performing, by a processor, a first Xpath evaluation on a stream of Extensible Markup Language (XML) messages, the first Xpath evaluation based on a group of Xpath queries associated with a first user transaction; receiving, by a processor, a plurality of requests to modify the Xpath query group and combining the plurality of requests into a single atomic modification; and modifying, by a processor, the Xpath query group, in a persistent manner, without affecting the ongoing first Xpath evaluation on the XML messages, wherein modifying the Xpath query group comprises: generating a second data structure as a copy of portions of a first data structure, the first data structure comprising a hash table with branches, the branches derived from the group of Xpath queries prior to modification and only copying branches of the first data structure being modified; altering at least one branch of the second data structure in accordance with the modification request, wherein the single atomic modification modifies the second data structure to perform a subsequent Xpath evaluation corresponding to a subsequent modification request of the plurality of requests without generating an additional data structure; performing a second Xpath evaluation, associated with a second user transaction, using the second data structure in substantially real time with the first Xpath evaluation such that the first and second user transactions are overlapping; and deleting the first data structure upon completion of the first user transaction and using the second data structure for additional user transactions until modified.