Sharpen TubeConsumer implementation, allowing a listener to be registered on its completion