I see the problem when using third-party libraries, but if I was designing my own... Objects are pretty cheap in python:<p><pre><code>    class Somebutton(Button):
        def onClick(self):
            .....
        def onSomethingElse(self):
            .....
</code></pre>
only one line of overhead (class line). And I'm pretty sure you can hack __dict__ in init, or use metaclasses so that the events are chained automatically, even without calling `Button.onClick(self)`. You can construct / add the object to it's container the same way (Somebutton(), instead of Button())