use Private::IteratorImplHelper_<> in a few more places to reduce duplicative code
start using new Bag_Factory<> mechanism - in place of older non-updatable/refinable factory