sources and sinks should use io.Reader/Writer

Maps aren't sorted in Go :)