Always clear the nonBlocking listeners on complete. If complete is called from a non-container thread a number of states are possible. It is more robust to always clear the listeners.