Delay GC on object

This is kind of the pattern I plan on putting in my sample, but it looks kludgy

import traceback
from pyrx import Db, Ed, Ge, Ap, Rx, Gs

class DbChild:
    def __init__(self, name):
        self.name = name
        print(f"Object {self.name} created")

    def __del__(self):
        print(f"Object {self.name} destroyed")


class Db:
    def __init__(self, name):
        self.name = name
        print(f"Object {self.name} created")

    def __del__(self):
        print(f"Object {self.name} destroyed")

    def makeChild(self, name):
        return DbChild(name)
    
    
def foo(db):
    c1 = db.makeChild("child1")
    c2 = db.makeChild("child2")

@Ap.Command()
def doit():
    try:
        db = Db("db1")
        foo(db)
    except Exception as err:
        traceback.print_exception(err)
Command: DOIT
Object db1 created
Object child1 created
Object child2 created
Object child1 destroyed
Object child2 destroyed
Object db1 destroyed