Index: twisted/internet/defer.py
===================================================================
--- twisted/internet/defer.py	(revision 28453)
+++ twisted/internet/defer.py	(working copy)
@@ -239,8 +239,8 @@
 
         These will be executed when the 'master' callback is run.
         """
-        assert callable(callback)
-        assert errback == None or callable(errback)
+        assert hasattr(callback, '__call__')
+        assert errback is None or hasattr(errback, '__call__')
         cbs = ((callback, callbackArgs, callbackKeywords),
                (errback or (passthru), errbackArgs, errbackKeywords))
         self.callbacks.append(cbs)
