Refactor and Round-robin

This pull request consists of individual commits with incremental changes. Please review the commits individually to understand the narrative of the overall changes.

The last commit introduces the target feature, round-robin connection distribution.
The commits leading up factor the original code to make room for the feature and other orthogonal house keeping.