protected override IAsyncAdPayload CreatePayload(IAdSource source)
        {
            // create the payload result. It will only contain UAC based ads
            var result = new UACAdUnit(source);

            // create a model to hold the ad and tell it to load itself
            activeAdPod = new UACAdPod(result, adModelFactory);
            activeAdPod.FailurePolicy = FailurePolicy;
            activeAdPod.CloseCompanionsOnComplete = CloseCompanionsOnComplete;
            result.AdPod = activeAdPod; // remember the active adspot

            return result;
        }
 public UACAdPod(UACAdUnit AdUnit, UACCreativeFactory AdModelFactory)
     : base()
 {
     this.AdUnit = AdUnit;
     this.AdModelFactory = AdModelFactory;
 }
 /// <summary>
 /// Populates an AdUnit with the UAC info, downloads the UAC ad if necessary
 /// </summary>
 /// <param name="ad">The UACAdUnit to be populated</param>
 /// <param name="Completed">Fired when the operation is complete, includes a status param</param>
 internal void LoadAdUnitAsync(UACAdUnit ad, Action<bool> Completed)
 {
     Completed(true);
 }