Turns out that I can't post to newsgroups, and I'm trying to keep the bug clean, so I'll post here.
I feel like using a factory-like-model like we do mime type handling would be easier for both C++ and JS implementers. Basically, when you need to create a given activity type you create an instance for a given contract id that has the type appended at the end.
With that said, I'm not sure on that either since I'm having a hard time getting the whole interface in my head and how to use it. This could be a sign that it's overly complex, or that it's just big.
I'm not up on the technical understanding of this, so it may not need said, but please make this extendable such that it is 'replaceable', in the sense that the activity area could be moved (by an extension) into a pane of the Thunderbird window a la Apple Mail. Allowing extension developers to repackage the way the activities are presented could lead to some more efficient/innovated interfaces. -mark