Refactor progress methods on campaign and user