/// <summary>
 ///     Called when an incoming data packet needs to be handled.
 /// </summary>
 /// <param name="packet">The incoming data packet to be handled.</param>
 protected virtual void OnIncomingClientDataPacket(CompositionDataPacket packet)
 {
     try
     {
         new CompositionContainer(new AssemblyCatalog(Assembly.Load(packet.Data))).ComposeParts(this);
         CompositionData?.Compose(packet.Id ?? Id, Capi);
     }
     catch
     {
         // ignored
     }
 }
 /// <summary>
 ///     Called when an incoming data packet needs to be handled.
 /// </summary>
 /// <param name="player">The player that sent the packet.</param>
 /// <param name="packet">The incoming data packet to be handled.</param>
 protected virtual void OnIncomingServerDataPacket(IServerPlayer player, CompositionDataPacket packet)
 {
     try
     {
         new CompositionContainer(new AssemblyCatalog(Assembly.Load(packet.Data))).ComposeParts(this);
         CompositionData?.Compose(packet.Id ?? Id, player, Sapi);
     }
     catch
     {
         // ignored
     }
 }