Made a reference counting make a little more sense. Makes it easy for Objects to retain and release ownership of other objects. Claiming (co)ownership of an object only requires calling increment_reference_count(obj). Then deleting the object will automatically decrement the reference count and will only actually delete the object if the ref count is 0. So as long as all owners call delete exactly once, the object will be successfully deleted and no Object will have a property deleted 'from out under them'