The Iterator allows the Waitress to be decoupled from the actual implementation of the concrete classes. She doesn’t need to know if a Menu is implemented with an Array, an ArrayList, or with PostIt notes. All she cares is that she can get an Iterator to do her iterating.