Subclassing Figure and pylab.figure()

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)
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