Seperated channel interface into read/write interfaces (fixes #19)