I recently made a light with on-time based memory… but no memory. And the result turned out to be pretty nice. I actually like it a lot better than regular on-time memory.
In short, to reach a given mode, you always have the same number of half-presses, regardless of what state the light is in. LL = one press, L = two presses, M = three presses, H = four presses. If the light was initially off, the first press will be a full click instead of a quick tap.
This doesn’t protect against momentary power loss like from a hard bump, but otherwise I prefer it over the traditional on-time memory approach. Since it’s basically stateless, it’s a lot more predictable.