Services are used by `controllers` and are used to abstract business logic over `models`.
When a service is present, one should avoid invoking models directly, and instead interact with the service.
Services can call services.
Services at powershop are modeled to look like rack services. That is to say that they have 3 public methods, new, call and errors. Call returns true|false, and if false is returned you should call errors to get errors.
# Setup in a Rails App
Services should be classes defined in `app/services`. If this is the first time running services, you'll have to hard reload rails.
# Structure of a Service
Services should be named with Verb-Noun pairs, and avoid using the word 'service' as this can be inferred from the path to the file.