First is assumed to be prevSecond
Second of the last constructed ZoomEvent
When the event should appear
When the event should disappear (set to Infinity if the event should always be active)
Whether this event has been triggered or not yet
Tiles changed by this event
Called when the event triggers
Called on the last frame of the event
Called every frame when the event is active.
Changes the tile at (x, y) to the given tile
Undoes all changed tiles
Changes zoom level by one value to another over an amount of time