revised the extending flag in Chains. And I think I finally nailed down the last bit of current_sum_of_attack_ being negative problem. It's because that the chain timer handles could be prematurely removed when the chain's use_count() reaches 1.