that we could also make public to better support this kind of use case

I think that it would be more logical. Because it will separate handling and processing requests parts.