domain: Refactor ConnectionSettings to allow hooking into the data source.
Merge branch 'master' into stable

* master:
  domain: Refactor ConnectionSettings to allow hooking into the data source.