Subclassing Figure and pylab.figure()

Folks,
I have a tailor-made subclass of Figure (say, MyFigure) that I'd like to use
interactively. Ideally, I'd like to have pylab.figure() (or an equivalent)
create a MyFigure instance, instead of Figure.

I wrote a myfigure() function based on pylab.figure(), substituting the

···

-----
figManager = new_figure_manager(num, **figargs)
-----
by
-----
thisFig = MyFigure(*args, **kwargs)
canvas = FigureCanvasGTKAgg(thisFig)
figManager = FigureManagerGTKAgg(canvas, num)
----

That seems to give me what I want, as long as I use the GTKAgg backend. What
should I do to have the same result with another backend, without having to
rewrite a new_figure_manager each time ? Anyway, is it even the way to go ?

Thanks for any ideas
P.