The AsyncPump should not be public