Your approach is how most people would do it. I just think setting it up to always work is worth my effort. Each to their own if you want to set it up either way I will help.
You could use Tasmota Documentation - Tasmota to run all of your devices and you can also add your own rules. It uses its own schema for MQTT topics but that is easy to learn.
Put TASMOTA on 8266 using maybe GitHub - tasmota/tasmotizer: ESP... The time has come to... Tasmotize!
install mqtt explorer as an easy tool to grasp what is going on.
you send commands to the cmnd topic and the state will be shown on a different one