Basically only new information that it adds as compared to GameState is that it's remembers if field has been flipped. But ByteBoard from GameState is immutable, so BVM can just cache last ByteBoard and compare it on Demand - no 8*8 FieldState objects needed
Basically only new information that it adds as compared to GameState is that it's remembers if field has been flipped. But ByteBoard from GameState is immutable, so BVM can just cache last ByteBoard and compare it on Demand - no 8*8 FieldState objects needed