Mexico hosts World Cup after 40 years