It needs a single consumer to be that simple.
And a single producer! i.e. it breaks down if you add support for fault tolerance