Doing it as two separate functions sounds nice; I'll come back to this once I'm ready to add idling to the HTTP drains to unify the modules.