Library consumers should not hold on to instances of this class, it is internally mutated heavily as an optimization.