Refactor gc channel interface

Prepare for multiplex ot in gc