I think it's better to have it as a separate component. For instance if you look at `ZenDiscovery`, the real work is done by `PublishClusterStateAction` which needs to be notified whenever the setting changes. It's just easier to have a separate `DiscoverySettings` class that can be passed in as an argument.