I originally built it as a separate library for portability. Those are somewhat of a holdover, but if openCV changes their training methodology (as they have in the past), this makes it easy to find and change.