Feature 2380: Hub progress

This is an initial PR to get feedback on the design and implementation of this feature. Once we sign off on that I'll circle back and add tests.