listening to destroy_child is the wrong event to listen to.  If you listen to destroy_child and the delete fails, you may call shortTabAfterTabDestroy even when a tab isn't deleted.  You should listen to `remove` like Gavin said.  When backbone triggers `remove` it passes in three parameters: `model`, `collection`, and `options`.  `options.index` provides everything you need.