The original issue that #2445 wanted to fix was solved in the previous commit. However it also exposed the subsystem in the standard library, which is still useful. So that's done in this commit, and #2445 can be closed.