Seems very odd we have expose this low level api to the detection engine. Why is that?