@startuml participant main participant LMSensorsFacade as lms participant GPUSensor as gpus participant PWMControlFactory as pwmfc main -> lms: RPMSensors() main <-- lms: vector main -> lms: TemperatureSensors() main <-- lms: vector main -> gpus: GPUSensor() main <-- gpus: Sensor note right Add GPUSensor to list of temperature sensors end note main -> pwmfc: PWMControllers() main <-- pwmfc: vector @enduml