private static void ConnectLobbyCallbackImpl(IntPtr ptr, Result result, ref Lobby lobby)
        {
            GCHandle            h        = GCHandle.FromIntPtr(ptr);
            ConnectLobbyHandler callback = (ConnectLobbyHandler)h.Target;

            h.Free();
            callback(result, ref lobby);
        }
        /// <summary>
        ///     Connects the current user to a given lobby. You can be connected to up to five lobbies at a time.
        /// </summary>
        /// <param name="lobbyId"></param>
        /// <param name="secret"></param>
        /// <param name="callback"></param>
        public void ConnectLobby(long lobbyId, string secret, ConnectLobbyHandler callback)
        {
            GCHandle wrapped = GCHandle.Alloc(callback);

            Methods.ConnectLobby(methodsPtr, lobbyId, secret, GCHandle.ToIntPtr(wrapped), ConnectLobbyCallbackImpl);
        }