Are we expecting to have subclasses for each service specifying `name` as a class attribute? 

Passing `name` through to the constructor seems like it would be nice and explicit:

```python
class ServiceA(object):
    name = 'service_a'
    service_b = Service('service_b')
```