I assume that you are talking about `asyncRemove`
Because I want to stop it internally, it could only trigger the stop first, and wait for its finish in another goroutine.
Which part do you think is tricky?