public function widget($args, $instance)
 {
     extract($args);
     // We have to have a campaign id
     if (!isset($instance['campaign_id']) || $instance['campaign_id'] == '') {
         return;
     }
     $title = apply_filters('widget_title', $instance['title']);
     $campaign_id = $instance['campaign_id'] == 'current' ? get_the_ID() : $instance['campaign_id'];
     $campaign = new ATCF_Campaign($campaign_id);
     $backers = $campaign->backers();
     // If there are no backers, users can elect to hide this.
     if (isset($instance['hide_if_no_backers']) && $instance['hide_if_no_backers'] && empty($backers)) {
         return;
     }
     echo $before_widget;
     if (!empty($title)) {
         echo $before_title . esc_html($title) . $after_title;
     }
     echo wpo_campaign_backers($campaign, $instance);
     echo $after_widget;
 }