Wraps objects which should only be available for the duration of a LayoutState, to access them in
other classes such as ComponentContext during layout state calculation. When the layout
calculation finishes, the LayoutState reference is nullified. Using a wrapper instead of passing
the instances directly helps with clearing out the reference from all objects that hold on to it,
without having to keep track of all these objects to clear out the references.