This was added to the factory for legacy reasons when converting from old to new sharing code. It is not used anymore so can be deleted. Which means we no longer expose internal types.