Bugfix:  Now properly wrap method results with DeferredTask, as appropriate.
Bugfix:  Deferred is an old-style class and needs old-style parent constructor calls