Fork me on GitHub

Your pipeline has a state, as it is either running or not. That makes it a candidate to be a component. Just store the channels in a component record after starting them in the component's start function. You can make a system using a single component to start with.