> No, this is simply incorrect. 'del myThingy' simply removes
> a reference to the object to which myThingy refers.
Argh. I'm assuming, as in the example, that the only strong reference to myThingy is the one I own.
> the Broker keeps a Python reference to the object internally,
> preventing the reference count from reaching zero,
> preventing the object from being deleted.
I understand that. I'm trying to ask if that's how it _should_ work. If I have a resource and make a Referenceable to give you access to it, it doesn't really make sense to me that my resource should be kept alive just because you have that access. It seems more reasonable to me that your access object should reference my resource _weakly_ and that you should receive some kind of notification if and when the resource expires.
It's just like the case of a GUI and a business logic object. The GUI probably gets a reference to the business logic object so that eg. button pushes can invoke methods on the object. However, that reference should probably be weak so that the business logic object can be garbage collected when it's finished with its business. There's no sense (to me) in keeping an object alive because a GUI, logger, or other observer is observing it. Am I just wrong?