Refactor to make moves lazy eval possible boards