I think you are clearly on the right track, but it's a pity I would want to strengthen rather than weaken these references.
So it seems I am still looking for a fundamental change in how I am trying to store multiple objects of one class in a single object of another, because my code will be unmaintainable as it stands and needs to go in a simpler direction from where it has been going in my efforts to fix this. Next experiments are I am going to look into applying formal inheritance to Table, possibly with a root ancestor class for Model and Table and as a last resort removing the Table class and moving all its methods and attributes to Model and using just hash references to each table rather than objects. I can certainly get rid of all my workaround code if I do that.