Setting Callbacks to Libraries

OK, but HOW does a static member function know which instance of the object to dispatch the interrupt to?

That's your problem. Suppose the interrupt is a timer-based interrupt. Which instance(s) care? The interrupt can't tell that.

But that means having a list of instances, being able to add/delete instances on that list, dealing with too many entries on the list, etc.

Exactly.

Is there a nicer way?

I think you already know.

Now, if you wanted to talk specifics, maybe we would have other ideas.