We currently have CollectiveMonitorState separate from CollectiveMonitorStateInternal, but in order for the code to function we had to make CollectiveMonitorStateInternal publicly accessible. Because CollectiveMonitorState is just a RwLock wrapper around CollectiveMonitorStateInternal, we could probably flatten this hierarchy and get rid of the distinction quite easily.
We currently have
CollectiveMonitorStateseparate fromCollectiveMonitorStateInternal, but in order for the code to function we had to makeCollectiveMonitorStateInternalpublicly accessible. BecauseCollectiveMonitorStateis just aRwLockwrapper aroundCollectiveMonitorStateInternal, we could probably flatten this hierarchy and get rid of the distinction quite easily.