An Inheritance approach

Pros

Seems to work pretty well.

Cons
subclasses done know about parent services, the ruby code does, and delegates fine but the object.requests collection only gives you the subclass defined ones