This is an OpenSource library I'm working on that takes a certain approach to handling asynchronous behavior. Mainly, don't try to make it synchronous in any meaningful way. The basic concept the library is built on is a StreamModule which represents a processing element in a stream. A StreamModule has 'sides' (each of which fill a protocol role in what that StreamModule does) and plugs which can plug into other StreamModule''''''s. Anyway, this risks becoming a page to document my work, so I'll stop now. I would greatly appreciate any comments or observations. http://www.omnifarious.org/StrMod -- EricHopper