A factory object is created before it is first referenced by a run unit.
A factory object is destroyed after it is last referenced by a run unit.