I wonder why not make `runDetectionStrategy` to be `protected[detector]`, instead of having a "friend" method delegating to it? Anyway, we can revisit after the release.