The PrometheusReporter groups metrics with the same logical scope in a single Collector which are periodically polled by Prometheus.
New metrics are added to an existing collector, and a reference count is maintained so we can eventually cleanup the Collector itself.
For removed metrics we decrease the reference count, do not however remove the metrics that were added. As a result the collector will continue to expose metrics, as long as at least 1 metric exists with the same logical scope.
If the collector is a io.prometheus.client.Gauge we can use the #remove() method. For histograms we will have to modify our HistogramSummaryProxy class to allow removing individual histograms.