How to Define Rate Limiting For Multiple Service

I’m trying to define rate limiting such that teams can define and deploy rate limiting for their own services. I have it working for just 1 service but I want to enable it for multiple.
Reading the documentation here (https://istio.io/docs/tasks/policy-enforcement/rate-limiting/)
states that you need the following resources

QuotaSpec, QuotaSpecBinding, Instance, Handler, Rule

However, Im not sure which resources can be unique and which ones can be shared. In other words, do I need to create all 5 resources for each service I want to rate limit?
It seems like a handler would be shared but I want teams to be able to create their own quotas without having to modify a central handler file.

So, should i create separate resources for each service?

Also,
what does the services field do in QuotaSpecBinding?
Is it source service that I want to apply the quota to or the destination service

kind: QuotaSpecBinding
metadata:
  name: request-count
  namespace: istio-demo
spec:
  quotaSpecs:
  - name: request-count
    namespace: istio-demo
  services:
  - name: ?? source or destination service???
    namespace: istio-demo