With games like these, while there is a lot of non-game specific code that is used(rendering, tile plotting and scrolling math, etc), most of the game itself is in "Board::MoveToken". I still have not implemented the pushers, but as I have already implemented the pushing ability of the token, it'll mostly be cut, paste, and tweak.
Now it's just a matter of getting the boardset loading(PopCap's XML parser is a joke) and browsing features completed, the intuitive ui for managing it all, the help files, putting in sounds, the minimap, the editing mode.
And then I have to have it Hattanized, during which I will find out what I did wrong. Once the game has been purified in the flames of Hattanization, it will be Quality.