I like the code you wrote.
In the interest of learning, if you ever wanted to do a flip flop at a word level, this works pretty good. The nice thing about this one is that you can "flip/flop" multiple bits independently I.E. if you toggle bit "B9:0.0", bit "B9:1.0" will react. If you toggle bit "B9:0.4", bit "B9:1.4" will react and so on.