The I/O implementations need to be exposed in the public api, otherwise applications won't be able to use them!