Help me plan my thermostat rule(s)

With some extra time on my hands lately, I'm working on converting some of my more complex webcore pistons into RM rules.

I thought it would be fun to see how others would approach this one (snapshot below) which controls my mini-split system. I've got a basic plan of attack in my head but there are some people on here that are extremely efficient in their RM rules and I figured this could be a good opportunity to learn from them.

A basic description of the piston:
-Controls thermostat mode (heat, cool, auto) based on outside temperature
-Sets thermostat temperature based on location mode (home, night, away, vacation) and based on the current thermostat mode (heat, cool, auto)
-Allows for a 30 minute "manual override" in case the wife is cold (she's never too warm lol)
-Turns off if any monitored doors/windows are left open for more than 5 minutes.
-It's not seen here, but all my baseboard heaters are also run off the settings of this device. They're on when heating and temps set based on location mode and time of day, off when in cool/auto/off. I've already got these ones converted over.

Here's the piston:

My plan of attack would be to break this down into multiple rules. 1 to control thermostat mode, 1 for doors/windows and 1 for each location mode. So I'd end up with 6 rules. Wondering how others would approach it.