 						disposable += signalDisposable
 
 						let aggregate = NSMutableData()
-						signal.observe(Observer(next: { readData in
-							switch readData {
-							case let .Chunk(data):
-								observer.sendNext(.StandardError(data))
-								aggregate.appendData(data)
-							}
+						signal.observe(Observer(next: { data in
+							observer.sendNext(.StandardError(data))
+							aggregate.appendData(data)
 						}, failed: { error in
 							observer.sendFailed(error)
 							stderrAggregatedObserver.sendFailed(error)

						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)

			disposable.addDisposable(signalDisposable)

			signal.observe(Observer(next: { data in
				observer.sendNext(data)
				buffer.appendData(data)
			}, failed: observer.sendFailed
			, completed: {
