Within Efl_Core this Exe namespace should be moved out of Ecore
whenever doing this, *PLEASE* use Efl.Io interfaces, so it's similar everywhere (ie: API will be mostly the same as the one for Efl.Net), namely Efl.Io.Reader, Efl.Io.Closer and the likes. For UNIX, you can benefit from Efl.Io.Reader.Fd and similar, not sure how is that on Windows.
With that, you only need the basics: monitor for incoming data and when writes can be done without blocking, as well as monitor child exit. Buffering and high level operations should be done by the existing Efl.Io.Copier and Efl.Io.BufferedStream