Refactored main, Game, BoardData, BoardTemplate, PlayerTurn, WinValidation classes to decouple dependencies