Refactor the competition view and controller