from twisted.internet import defer, reactor

A = defer.Deferred()


def X(result):
    B = defer.Deferred()
    reactor.callLater(2, B.callback, result)
    return B


def Y(result):
    print(result)


A.addCallback(X)
A.addCallback(Y)
A.callback("hello world")
reactor.run()
