I read this as `The Detector OS` not as `A class which detects OS's`, maybe this should be called `OSDetector` or `OSDetectorBase`?