Hi Harshad, After a second though, I have the following proposal:
We add a new base class called QueryManagerLite, from which the current QueryManager and the future QueryManagerDistributed would derive. Thus, we could keep the current QueryManager intact, including holding QueryContext. With that being said, in the distributed version, we could reuse PolicyEnforcer, but both ForemanDistributed and QueryManagerDistributed are unique implementations. Any thoughts? Cheers, Zuyu