Configurable service name

Rebased #455 and addressed the feedback I'd left.

Closes #455 
Can do. What about the other parameters being passed through to that class? Change those to `undef`, move the defaults to the `service` class?