/// <summary>Retrieves and removes an item from the list.</summary>
/// <typeparam name="T">The type that the generic list contains.</typeparam>
/// <param name="list">The list.</param>
/// <param name="index">The index of the item to be pulled out of the list.</param>
public static T PullItemAt<T>(this IList<T> list, int index)
{
var item = list[index];
list.RemoveAt(index);
return item;
}