Rework IO public APIs