introduced abstract service with convenience methods for defining own services