Note that this approach assumes that `wcs.WCS._get_mpl_axes` method returns the `WCSAxes` class (+ a dict of keyword arguments).
I believe that there can be multiple implementation of WCSAxes. For example, we may need a separate axes class for all sky maps.
I prefer we have an explicit separate class, i.e., instead of above,

```python
ax = fig.add_subplot(1, 1, 1, projection=wcs.WCSProj('image.fits'))
```

And if needed, we can have wcs.WCSProjAllSky.