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]