pyobjc seems to be creating multiple instances for what should be a single instance.

To recreate: follow the cocoa tutorial (currency converter) and put NSLog statements in the init() for the app delegate and the controller classes.

With objective-c, the output is:
    Controller init
    AppDelegate init

With pyobjc, the output is:
    Controller init
    AppDelegate init
    AppDelegate init
    Controller init
    Controller init
    Controller init
    Controller init

(with different values of 'self')

What's going on here?!

I'm using Xcode 3.2.3 on OS X 10.6.