private async void StartConnecting()
        {
            await Task.Factory.StartNew(() =>
            {
                NodeConnectionParameters parameters = new NodeConnectionParameters();
                //So we find nodes faster
                parameters.TemplateBehaviors.Add(new AddressManagerBehavior(this.GetAddressManager()));
                //So we don't have to load the chain each time we start
                parameters.TemplateBehaviors.Add(new ChainBehavior(this.GetChain()));
                //Tracker knows which scriptPubKey and outpoints to track
                parameters.TemplateBehaviors.Add(new TrackerBehavior(this.GetTracker()));
                var nodeReq = new NodeRequirement()
                {
                    RequiredServices = NodeServices.Network
                };
                _group = new NodesGroup(_wallet.NetworkChoice, parameters, nodeReq);
                _group.MaximumNodeConnection = MAX_NUM_CONNECTIONS;
                _group.Connect();
                _connectionparameters = parameters;
            });

            _wallet.Configure(_group);
            _wallet.Connect();
            _wallet.Connected = true;

            PeriodicKick();
            PeriodicSave();
        }