 			disposable.addDisposable(signalDisposable)
 
 			signal.observe(Observer(next: { data in
-				observer.sendNext(.Chunk(data))
+				observer.sendNext(data)
 				buffer.appendData(data)
 			}, failed: observer.sendFailed
 			, completed: {

						disposable += signalDisposable

						let aggregate = NSMutableData()
						signal.observe(Observer(next: { readData in
							switch readData {
							case let .Chunk(data):
								observer.sendNext(.StandardOutput(data))
								aggregate.appendData(data)
							}
						}, failed: { error in
							observer.sendFailed(error)
							stdoutAggregatedObserver.sendFailed(error)

	}
}

/// Takes ownership of the read handle from the given pipe, then sends
/// `NSData` values for all data read.
private func aggregateDataReadFromPipe(pipe: Pipe) -> SignalProducer<NSData, TaskError> {
	let readProducer = pipe.transferReadsToProducer()

	return SignalProducer { observer, disposable in
