OnionService base class to avoid duplication of boilerplate code and to
make services more testable