Refactored to use a service

Not sure if I over or under did it. The controller did get a bit skinnier & I think the service is a bit more modular.