Handle channel creation and buffering ourselves