Refactored out stand-alone Terrain class into TerrainEffect, an array of which is now included in the Map file.  It's a couple of steps in the right direction, at least.