Role: Is the holder of all subscription information - all others are copies of this repository.
The publisher and subscriber must point to the service if they wish to 'publish' so really its just publishers.
SubscriptionService comes online (empty repo)
Publisher comes online (empty outbound pipeline, empty inbound pipeline)
Subscriber comes online (empty outbound pipeline, populated inbound pipeline)
* messages sent to SubscriptionService from Subscriber using direct send *
SubscriptionService notes the subscriptions (populated repo)
SubscriptionService broadcasts the subscription data (messages sent directly to know clients)
Publisher receives messages (populated outbound pipeline, empty inbound pipeline)
@chris: did I miss anything?