Move map generation to Map class