refinement: decouple http intercepter from dom.