Refactoring: add() -> offer(), remove() -> poll()