protected virtual void SetupChampionBody(IBody body, IEnumerable <IGrabableItem> items)
        {
            var hands = new IStorageType[]
            {
                ActionHandStorageType.Instance,
                ReadyHandStorageType.Instance
            };

            var handsEnumerator = hands.Cast <IStorageType>().GetEnumerator();

            foreach (var i in items)
            {
                var carryLocations = i.FactoryBase.CarryLocation;
                var storage        = carryLocations.Except(hands.Concat(carryLocations.Where(x => !x.IsBodyPart))).FirstOrDefault();

                if (storage == null)
                {
                    storage = handsEnumerator.MoveNext() ? handsEnumerator.Current : BackPackStorageType.Instance;
                }

                if (storage == ConsumableStorageType.Instance)
                {
                    storage = BackPackStorageType.Instance;
                }

                if (!body.GetStorage(storage).AddItem(i))
                {
                    throw new InvalidOperationException("Shouldn't be possible.");
                }
            }
        }