Changed the EditCampaignViewModel to use an optional-method callback design to allow UI logic to be separated from the view model.