1.[A.run->B.run, success]

2.[A.run(x)->B.run, A.run exception after call B.run]

3.[A.run->B.run(x), B.run exception]

4.[A.run->B.run, A.run->C.run, success]

5.[A.run->B.run, A.run->C.run(x), C.run exception]

6.[A.run->B.run, B.run->C.run, success]

7.[A.run->B.run, B.run->C.run(x), C.run exception]