Add pipeEvents.once, tests for pipeEvents