This is how I understand the complete registration workflow, not just service discovery:

#### User clicked a button located on some main installation dialog to register the system. He got 2 options:

* he must insert the registration server details (url) manually or
* he uses service discovery


#### Let's pretend he chose the latter option, he got displayed the discovery dialog and now he is considering what next. He can:

* select one service from the list
* ignore the list and cancel the dialog (it does not mean the user want to skip the registration!)
* he got an empty list of services (which is btw missing in my code and I need to add this)

This means that this dialog is not decisive for the registration workflow, only for discovery. I expect from the dialog to deliver only an object that has data for constructing the registration request. 

Once the discovery dialog has been cancelled we must let the user decide what's next (skip registration, manual entry of registration url, get back). 

However if the user clicks OK with a selected service (I see again that my code did not covered option with no selected service), the registration request can be fired and no other interaction from user is expected; the next installation dialog or whatever will follow.
@lslezak @kobliha Please express you opinion on this.