Cleaned up BoardState with addition of Iterators