public ActionPhase(ITurnScope turnScope, CardSet availableActions) : base(turnScope)
 {
     Description      = String.Format("{0}, select an action to play", turnScope.Player.Name);
     AvailableActions = new CardSet(availableActions.OrderByDescending(a => a.BaseCost).ToList());
     AvailableActions.ToList().ForEach(actionCard => _availableResponses.Add(new PlayActionResponse(turnScope, actionCard)));
     if (_availableResponses.Any())
     {
         _availableResponses.Add(new SkipActionPhaseResponse(turnScope));
     }
 }