factoring out the lower-level  service, replacing it with a new service called Campsite