use a blocking call remove() to prevent busy-polling.