Major restructuring: moved all logic of GameBoard.cs to Engine.cs