Help with custom API service (Static vs dynamic callback pointers)

I am working on component that uses the custom_api_device to get data from Home Assistant. Following the example in API Example
This works fine for a single instance of my component, but when there are two or more instances it breaks the service. This is due to the static reference to the callback.

register_service(&RTCScheduler::on_schedule_recieved, foo,
                   {"schedule_slot_id",  "days", "hours","minutes","actions"});

The question is how do I supply a call back that is dynamic eg per class instantiation . EG Use this->on_schedule_recieved The signature of the register_service call is

template<typename T, typename... Ts>
  void register_service(void (T::*callback)(Ts...), const std::string &name,
                        const std::array<std::string, sizeof...(Ts)> &arg_names) {
    auto *service = new CustomAPIDeviceService<T, Ts...>(name, arg_names, (T *) this, callback);  // NOLINT