public void RegisterCallback <T>(ExtendedSessionManager.MessageType serializerType, Action <T, ExtendedPlayer> callback, Func <T> constructor) where T : INetSerializable
        {
            Action <T, IConnectedPlayer> extendedCallback = delegate(T packet, IConnectedPlayer player)
            {
                ExtendedPlayer extendedPlayer = GetExtendedPlayer(player);
                callback(packet, extendedPlayer);
            };

            _packetSerializer.RegisterCallback(serializerType, extendedCallback, constructor);
        }
 public void UnregisterCallback <T>(ExtendedSessionManager.MessageType serializerType) where T : INetSerializable
 {
     _packetSerializer.UnregisterCallback <T>(serializerType);
 }
 public void RegisterSerializer(ExtendedSessionManager.MessageType serializerType, INetworkPacketSubSerializer <IConnectedPlayer> subSerializer)
 {
     _packetSerializer.RegisterSubSerializer(serializerType, subSerializer);
 }