 				}
 
 				return SignalProducer { observer, disposable in
-					//TODO: Swift 3 API guidelines?
 					func startAggregating(_ producer: Pipe.ReadProducer) -> Pipe.ReadProducer {
 						let aggregated = MutableProperty<Aggregation?>(nil)
 

	}

	/// Instantiates a new descriptor pair.
	//TODO: Swift 3 API guidelines?
	class func create(_ queue: DispatchQueue, _ group: DispatchGroup) -> Result<Pipe, TaskError> {
		var fildes: [Int32] = [ 0, 0 ]
		if pipe(&fildes) == 0 {

extension TaskEvent: CustomStringConvertible {
	public var description: String {
		func dataDescription(_ data: Data) -> String {
			return String(data: data, encoding: String.Encoding.utf8) ?? data.description
		}

		switch self {
