internal VoiceServer(IVoiceClientFactory <TClient, TIdentifier> factory, VoiceServerConfiguration configuration, IVoiceWrapper voiceWrapper) { _factory = factory ?? throw new ArgumentNullException(nameof(factory)); NativeWrapper = voiceWrapper ?? throw new ArgumentNullException(nameof(voiceWrapper)); Configuration = configuration; NativeWrapper.CreateNativeServer(configuration); AttachToNativeEvents(); AttachTasksToStartAndStopEvent(); }