partial void deleteVillain (NSObject sender)
{
window.EndEditingFor (null);
var selectedRow = villainsTableView.SelectedRow;
villains.Remove (villain);
villainsTableView.ReloadData ();
selectedRow = Math.Min (selectedRow, villains.Count - 1);
if (selectedRow < 0)
return;
// deselect all rows to ensure that the table view see the selection
// as "changed", even though it might still have the same row index
villainsTableView.DeselectAll (null);
villainsTableView.SelectRow (selectedRow, false);
UpdateDetailViews ();
}