Should add an overload that lets you pass in the channel object - allows for mocking / testing at the client lib layer.