Extract queue stuff into own class so can be reused for other Player
impls.