Today I'm just showing off another idea I plan to incorporate into my possible survival map. Pushing the mobs into the water with pistons forces them to swim.
Monster spawners stop spawning mobs if there are 6 or more mobs of that type within a 17x17x9 area centered on the spawner. Placing the water spawner in water 3 or more blocks deep prevents this limiter because the mobs will always swim outside of that range on their own. This makes it possible for these water spawners to continue to spawn many many mobs if the player is within range of them.
The TNT self destruct feature is meant to keep things fun and fair.