As part of https://github.com/redis/redis/pull/10875, one of the goals is to split the API into two pieces. One that handles control plane operations (Add/Remove/Failover/update node) from data plane operations (topology discovery/pubsub). Just creating this as an issue to indicate that I am working on it since I did most of the work as part of a PoC.
The general idea is too split all of the operations so that data plane operations are colocated into a file with data structures, and control plane operations are split into a separate file with clear data structures. setting this up as a separate issue since I started working on it, but if it gets dropped I want to identify this as something that someone could pick up.