/// <summary>
 ///     Creates new instance of <see cref="NetworkDeviceDefinitionBuilder{TDevice}" />
 /// </summary>
 /// <param name="networkEventsManager">Network events manager.</param>
 /// <param name="additionalRepositoryDescriptorProvider">Additional descriptor provider.</param>
 /// <param name="logger">Logger.</param>
 public NetworkDeviceDefinitionBuilder(
     INetworkEventsManager networkEventsManager,
     IAdditionalRepositoryDescriptorProvider additionalRepositoryDescriptorProvider,
     ILogger <NetworkDeviceDefinitionBuilder <TDevice> > logger = null)
 {
     _builderLogger        = logger;
     _networkEventsManager = networkEventsManager;
     _additionalRepositoryDescriptorProvider = additionalRepositoryDescriptorProvider;
 }
            /// <summary>
            ///     Creates new <see cref="ExtensionDeclaration{TExtension}" /> instance.
            /// </summary>
            /// <param name="parent">Parent <see cref="NetworkDeviceDefinitionBuilder{TDevice}" /></param>
            /// <param name="additionalRepositoryDescriptorProvider">Provider of extensions collection.</param>
            /// <param name="extenstionAssigned">Callback for when the extension is found.</param>
            public ExtensionDeclaration(
                NetworkDeviceDefinitionBuilder <TDevice> parent,
                IAdditionalRepositoryDescriptorProvider additionalRepositoryDescriptorProvider,
                Action <TExtension> extenstionAssigned)
            {
                _parent = parent;
                _additionalRepositoryDescriptorProvider = additionalRepositoryDescriptorProvider;

                _extenstionAssigned = extenstionAssigned;
            }