same signature as original IOCallback interface.