c # Classes públicas aninhadas ou opção melhor?

Tenho um circuito de controle que possui várias configurações e pode ter vários sensores conectados (cada um com seu próprio conjunto de configurações). Esses sensores podem ser usados apenas com o circuito de controle. Pensei em usar classes aninhadas da seguinte forma:

public class ControlCircuitLib
{
    // Fields.
    private Settings controllerSettings;
    private List<Sensor> attachedSensors;

    // Properties.
    public Settings ControllerSettings
    { get { return this.controllerSettings; } }

    public List<Sensor> AttachedSensors
    { get { return this.attachedSensors; } }

    // Constructors, methods, etc.
    ...

    // Nested classes.
    public class Settings
    {
       // Fields.
       private ControlCircuitLib controllerCircuit;
       private SerialPort controllerSerialPort;
       private int activeOutputs;
       ... (many, many more settings)

       // Properties.
       public int ActiveOutputs
       { get { return this.activeOutputs; } }
       ... (the other Get properties for the settings)

       // Methods.
       ... (method to set the circuit properties though serial port)        
    }

    public class Sensor
    {
       // Enumerations.
       public enum MeasurementTypes { Displacement, Velocity, Acceleration };

       // Fields.
       private ControlCircuitLib controllerCircuit;
       private string sensorName;
       private MeasurementTypes measurementType;
       private double requiredInputVoltage;
       ... (many, many more settings)

       // Properties.
       public string SensorName {...}
       ... (Get properties)

       // Methods.
       ... (methods to set the sensor settings while attached to the control circuit)
    }
}

Li que as classes públicas aninhadas são "não-não", mas existem exceções. Essa estrutura está boa ou existe uma opção melhor?

Obrigado

EDITA

Abaixo é uma hierarquia grosseira do circuito de controle para o qual estou tentando escrever uma classe de biblioteca; Usei a formatação de código para impedir a quebra de texto.

Control Circuit (com. via serial port) -> Attached Sensors (up to 10) -> Sensor Settings (approx. 10 settings per sensor)
                                          Basic Controller Settings (approx. 20 settings)
                                          Output Settings (approx. 30 settings)
                                          Common Settings (approx. 30 settings)
                                          Environment Settings (approx. 10 settings)

Todas as configurações são definidas através do controlador, mas eu gostaria de uma biblioteca organizada, em vez de agrupar todos os ~ 100 métodos, propriedades e configurações em umController classe. Seria muito apreciado se alguém pudesse oferecer um pequeno exemplo descrevendo a estrutura que usaria. Obrigado

questionAnswers(8)

yourAnswerToTheQuestion