This is much better than the previous implementation, but you might still be able to extract a `next_word` method to put all the iterator stuff together and get it out of this method.