Cleanup: do actual hit test in a central place.