Organize files into groups
Restructure `Board` and `VictoryConditions` to avoid `Board` knowledge of requirements for winning