Refactoring note:

There seems to be two kinds of these:
* Those with zoomX and zoomY
* Those with only zoom.

If we get rid of the pure zoom-kind, we could in theory merge all of these into one constructor with default-arguments. That would mean some changes in the calling code that expects to only have one zoom-argument, but would also make this quite a bit more readable.

Thoughts?