Updated `lib.RingDetector` to utilise `core.RingSystem`.

* Tests continue to pass/fail as before.