Embrace Simple Design
In Software if we wanted to build, bathroom showers, most of us would have built the following:
A mounted shower with a separate hand-shower. To think about it, you are always going to use only 1 at a time. Why then do you need both?
A smarter way to build a shower would be:
If you want to use the mounted shower you can, if you want to use the hand shower you can. The water controllers are massively simplified and it does what you need.
This is what I refer to as “Smartest Possible Thing That Could Possibly Work”