Might be worth passing in map.data separately - can't people create separate Data objects?