private void ProcessAttackCommand(FieldManager fieldManager, string[] commandArguments)
        {
            if (fieldManager == null)
            {
                throw new ArgumentNullException("battleManager");
            }

            if (commandArguments == null)
            {
                throw new ArgumentNullException(" no arguments");
            }

            if (commandArguments.Length < 4)
            {
                throw new ArgumentException("Invalid number of arguments for attack command");
            }

            CardId atackingCard = new CardId(commandArguments[0], (PlayerIndentifier)int.Parse(commandArguments[1]));
            CardId defendingCard = new CardId(commandArguments[2], (PlayerIndentifier)int.Parse(commandArguments[3]));

            fieldManager.Attack(atackingCard, defendingCard);
        }
        private void ProcessSwitchCommand(FieldManager fieldManager, string[] commandArguments)
        {
            CardId cardToSwitch = new CardId(commandArguments[0], (PlayerIndentifier)int.Parse(commandArguments[1]));

            fieldManager.Switch(cardToSwitch);
        }     
        private void ProcessPlayCommand(FieldManager fieldManager, string[] commandArguments)
        {
            CardId cardToPlay = new CardId(commandArguments[0], (PlayerIndentifier)int.Parse(commandArguments[1]));

            fieldManager.Play(cardToPlay);
        }