Unanswered: Swap out tools in a panel header?

I have a panel whose contents may be swapped out from time to time, and the tools in the panel's header must change along with the contents. There doesn't seem to be a way to ask for the tools to be rebuilt, or to add or insert tools at random.

The best approach I've come up with so far is to save off the existing collection of tools (just the close button, for now) when the panel is first created. Then, every time I need to update the header, I would rebuild a tools array from that + whatever new tools need to be there, then call .updateHeader(). Is there anything more idiomatic/future-proof than that?

ETA: For that matter, I can't figure out how to remove the existing tools.

I don't see why you can't use custom icons. You'll have to add extra entries to the list of allowed types and come up with suitable CSS but it doesn't strike me as much harder than any alternative approach.