use swap in GameWorld::LoadFrom, operator= could throw