implement Gauge.whenever()