I think the ISR has to be a static function; if there is a library providing support to interrupt to an instance method, I imagine it would be implemented by storing the object pointer and method pointer in global variables and having a global function that invoked that method of that object. In other words, just the way you'd do it yourself if you needed to have an object method invoked via an ordinary function.