tie elements to campaigns, cleanup campaigns on element delete

this is a stupid amount of code for one visible link.