where it gets a bit complicated is if you want to animate between states, though often CSS animations can handle this quite nicely
Thankfully, we're not doing any animation at the moment, but I can see how that would be tricky, yeah