I get what you're saying fumanchu (or should I say Robert?). I've been working and reworking this code. It's in a lot better shape now (although I hestitate to keep flooding the conversation with each iteration of the file). At the level this app should be operating, I doubt I'll hit performance issues, and it's good to learn the basics first. However, I doubt this would scale very well, so the next step will be to educate myself aobut the performance-enhancing alternatives you're talking about.
One thing I'm still not sure about -- and I suspect that there is no right answer -- is the fact that although I am writing the code in Python, the idiom is purely Java. Having my data bucket in the form of, essentially, a bean with setters and getters, and each method surrounded by (the Python version of) a "synchronized" piece, and so on all comes from my Java background. It's ending up working well as code (I'm a lot further along today), and it's accomplishing the decoupling of front and back end I was looking for, so that's excellent. However I do have the vague feeling that I am doing the equivalent of, say, writing Greek hexameters in English (i.e. it works but it is stylistically clunky). Anyway, thanks for your insight. I will probably be posting more of the code later, if you are interested in checking it out. The app is a [EMAIL PROTECTED] client monitor (for Gnome) -- one of those applications, like a web spider, that lots of people want to create, even though there are already a zillion perfectly working versions out there. It's just about the right level of complexity for me now. mwt (Michael Taft) -- http://mail.python.org/mailman/listinfo/python-list