It should be possible to add/remove relays in-flight. Reconsider the whole design of relay groups and initialization - backed by a provider that the pool can react to? API should be neat, probably wrap the provider and not expose it directly