I'm feeling good about this call signature. You basically have a strategy pattern where you can mix front and back channel in an implementation-dependent fashion. That's a design win in my view.