I've decided that I hate Wordpress' multi-widget "API", so I've written a cleaner interface for it: class MultiWidget

Damon Timm added multi-widget functionality to Event-Calendar. He did a fine job, but I was horrified by the hoops he'd been forced to jump through. The barely-documented "API" is so horrible and crufty that I simply don't trust that it will remain in future versions of Wordpress. I fear that in a few months time, the multi-widget hacks inside wp-admin will change or disappear, and we'd be scrambling to play catch up.

I was all but ready to give up and reluctantly decide against multi-widgets, but then I thought of a better plan...

I've taken the example multi-widget code and turned it into an abstract class with a clean interface: class MultiWidget. This class is useless on its own - you have to extend the class to make a custom multi-widget - e.g. class ExampleMultiWidget.

The class ExampleMultiWidget is quite clean, and doesn't contain any of the crufty secret multi-widget knowledge. I'm hoping that if/when "they" change the multi-widget API, I'll just be able to take the new example, and translate it into a new version of the interface class MultiWidget, but without having to change any of the derived classes.