internal InstanceWorld Create(string id)
        {
            var world = new InstanceWorld(id);

            world.Running = true;
            return(world);
        }
        internal void Remove(string id)
        {
            InstanceWorld world = null;

            if (worlds.TryGetValue(id, out world))
            {
                world.Running = false;
                worlds.Remove(id);
            }
        }
        internal InstanceWorld Get(string id)
        {
            InstanceWorld world = null;

            if (!worlds.TryGetValue(id, out world))
            {
                world      = Create(id);
                worlds[id] = world;
            }
            return(world);
        }