public SelectCampaignPresenter(ISelectCampaignView view, ISelectCampaignModel model) {
    super(view);

    _view = view;
    _model = model;

    List<Campaign> campaigns = _model.getCampaigns();
    if (campaigns != null) {
      for (Campaign campaign : campaigns) {
        campaign.addCampaignChangedListener(this);
      }
    }

    _view.addSelectCampaignListener(this);
    _view.setCampaigns(campaigns);
  }
 @Override
 public void stateChanged() {
   _view.updateCampaignState();
 }
 @Override
 public void campaignSelected(Campaign selectedCampaign) {
   ClassFactory.setCampaign(selectedCampaign);
   _view.setCampaignDescription(ClassFactory.getCampaign().getDescription());
   _view.updateCampaignState();
 }