How to set and reset a monthly or weekly Timer

I would like to build a button/card, coupled with an automation for a recurring task.

The button would say “wash car” (just as an example)
However, the card is displayed as active at least every 4 weeks, and as soon as I tap it, the task is postponed by 4 weeks or deactivated for 4 weeks. However, this tapping should be possible at any time, i.e. if I tap on it after 2 weeks, it is also postponed again for 4 weeks until the next display.

Theoretically, I would possibly work with a timer (4 weeks) and in parallel a helper for the “alarm”

How would you go about it?

You wash your car every four weeks?
No kids huh?

I would use an input date time and set a date four weeks from now, or a calendar.
Timer probably works too but I would not have that as my first thought

That was an example. It could also say, change the bedclothes. Or anything else. It could also be an event that would be necessary every 2 weeks, for example.