In the distributed version, ForemanDistributed would pass a nullptr of StorageManager to PolicyEnforcer. And QueryManager in the distributed version would not use StorageManager at all, as QueryContext would be reconstructed in Worker site.
Actually, we may use the QUICKSTEP_DISTRIBUTED micro in QueryManager so that we may avoid the class hierarchy as a whole.