I'd move this `form` stuff into a separate directive and keep the service pure data manipulation.