Because the current code may call subscriber callbacks before initializing `detector` and `extractor`