Instead of class Foo(jelly.Jellyable): # etc Shouldn't we be doing: class Foo: __implements__ = jelly.IJellyable # etc or: class Foo: # etc components.registerAdapter(..., Foo, jelly.IJellyable) ? This strikes me as being like copy_reg, but better :) -Andrew.