Circadian Lighting - component vs platform

I’ve got a fundamental question about a component I want to develop for HA. Back in my SmartThings days I developed a Circadian Daylight SmartApp for adjusting color temperature of lights to simulate natural lighting. I’ve been on HA for about a year and I’ve been using flux, but it’s missing some functionality for my needs.

The way I wrote Circadian Daylight for SmartThings, there was a “parent” SmartApp which calculated color temperature and stored it in a state variable. Then the “child” SmartApps had options for adjusting brightness and other behavior, but always pulled color temperature from the parent, so ensure everything was in sync.

I’m thinking for Home Assistant the best approach would be to create a sensor that keeps track of color temperature and brightness. Exposing those as a sensor would make it possible for anything to reference those values, allowing for automations to turn on lights directly to the correct color temperature, rather than turning on to previous state and then adjusting. I would then have switches, similar to flux, allowing for specifying the entitys to include, along with other configuration options. These switches would allow for different configurations for different groups of lights. Ideally, in the frontend they would have a toggle for color temperature adjustment and brightness adjustment individually.

My question is - should I create a sensor platform and a switch platform separately, or should I build this as a component, which automatically adds the sensor and allows for specifying “switches” in the circadian_lighting domain? I’m leaning towards the component because I assume that’s the only way for me to be able to customize the entitys to have two controls rather than the single toggle, and would allow me to register services in a circadian_lighting domain.

Any advice/guidance is greatly appreciated. I’m currently a bit overwhelmed at the thought of taking this on (the only python coding I’ve done is minor changes to the sense integration). Thanks!