Making Queue iteration more flexible with interfaces