It would look much cleaner to just subclass `TerrainLayer`, because the only thing you'd have to overwrite is `loadTerrain`