It doesn’t really matter what states the buttons (virtual or otherwise) react to. What you have to do is track the state of a button. So you’ll need an extra variable. Your problem is very similar to this: 2 way lighting circuit control with blynk and feedback updates
Have you read there? There is a lot of viable code there to solve your problem I think. (especially at the end of the topic).