Refactor the BoardAnalyser to be more independent of state
Refactor the BoardAnalyser to be more independent of state