Changing the meaning of multiple entries in itype::use_methods

I’m looking more for a permission than guidance here (though guidance will also be appreciated). Didn’t know where to ask.

Currently itype::use_methods are used all at once. As far as I know no item is ever created with multiple use methods.
Additionally, multiple use methods probably wouldn’t be handled nicely if the first use consumed charges and the second one didn’t (only the last invoked method gets to consume charges in this case).

I’ll wrap the technical stuff in a spoiler because it’s a big tl;dr:

I’d like to change the meaning of multiple use methods and make it so it instead opens a menu asking the player to pick one of them.
This would involve splitting the itype::invoke into 2 different methods: one for active item (t == true) and one for use.

itype::invoke is always invoked with explicit, known ‘t’ argument - ie. it always looks like invoke(p, it, {true, false}, pos) with t never being a parameter. This would make the above split easy.

Now, the t == true version would work like it works now, except with proper charge handling (summing, unless it becomes -1 at any point) and probably continuing even when any method returns -1 (methods themselves should handle that case).

The t == false version would instead have an index parameter and overload without it that picks the first method or bails out if no methods exist.

Chaining multiple effects could be easily achieved by some wrapper function, in case someone suddenly wanted their item to act the old way.

What would it do:
Functions for items such as refillable lighter, knife and especially flame melee weapons could be easily made much nicer.
For example, knife would have 3 functions: cut, cauterize and enzlave. Make zombie slave could be hidden (or just grayed out) by checking can_use before querying the menu.
A burning broadsword would neatly combine all the actions into one menu: cut, cauterize, enzlave, start fire, extinguish the weapon.

Additionally, the extinguish weapon part could be neatly handled with the iuse_actor transform rather than having to be hardcoded for each flaming weapon separately.

And finally: item action menu could handle all the sub-actions. You could then use item action menu to start a fire with an unlit refillable lighter, for example.
I heard complaints that refillable lighter is annoying to use because of that flip on->use->flip off part and this would fix it.

That’s roughly the direction I wanted to take them eventually, dig in.