public override void Execute() { string weaponName = this.Data[1]; int index = int.Parse(this.Data[2]); string[] gemData = this.Data[3].Split(); string gemType = gemData[1]; string gemClarity = gemData[0]; IGem gem = this.GemFactory.CreateGem(gemType, gemClarity); IWeapon weapon = this.Repository.GetWeapon(weaponName); weapon.AddSocket(index, gem); }