Starts refactoring the Campaignable polymorphism. WIP. #14.