Service timer.set (or other way to modify timers before starting them)

I would like to request a feature that allows users to set timers via service, ideally even timers that had not previously been created.

Example

variables:
  name: fan
  duration: "00:25:00"
service: timer.set
data:
  target:
    entity_id: timer.{{ name }}
  data:
    duration: {{ duration }}

This would create timer.fan and set its duration to 00:25:00. This would allow users to pass variables to this, or alternatively use an input_number entity, for example

input_number:
  fan_minutes:
    min: 1
    max: 300
    step: 1

# (...)
  service: timer.set
  data:
    target:
      entity_id: timer.fan
    data:
      duration: 
        minutes: input_number.fan_minutes