public int Add(string connectionId)
        {
            User newUser = new User(connectionId);
            Ship newShip = shipManager.Create();

            newUser.Ship = newShip;

            Users.Add(connectionId, newUser);

            return newShip.Id;
        }
        public object[] Serialize(World world, User user)
        {
            // Serialize the ships
            List<object> serializedShips = new List<object>();

            foreach (Ship ship in world.ShipManager.Ships.Values)
            {
                object[] serializedShip = Serialize(ship);
                serializedShips.Add(serializedShip);
            }

            // Serialize the bullets
            List<object> serializedBullets = new List<object>();

            lock (world.BulletManager.Bullets)
            {
                List<Bullet> bullets = new List<Bullet>(world.BulletManager.Bullets);

                foreach (Bullet bullet in bullets)
                {
                    object[] seriealizedBullet = Serialize(bullet);
                    serializedBullets.Add(seriealizedBullet);
                }
            }

            // Serialize the bots
            List<object> serializedBots = new List<object>();

            foreach (Bot bot in world.BotManager.Bots)
            {
                object[] serializedBot = Serialize(bot);
                serializedBots.Add(serializedBot);
            }

            // Serialize the world
            object[] serializedWorld = new object[4];

            serializedWorld[0] = serializedShips;
            serializedWorld[1] = serializedBullets;
            serializedWorld[2] = serializedBots;
            serializedWorld[3] = user.LatestCommandId;

            return serializedWorld;
        }