per Harvey, let's make the ApiState pause/resume operations always come in pair.
Currently there is no guarantee on when/whether the "resume" will be called after the ApiState has been "pause"d.
We should consider mechanism like RAII object which auto-resume the paused resource type when the object died.