Refactored Survey model by pushing methods to Publisher