[sggoc] split io stuff into its own module