More kio refactoring, unified data read/write