 	/// Initializes a property by applying the binary `SignalProducer` transform on
 	/// `property` and `anotherProperty`. The resulting property captures `property`
 	/// and `anotherProperty`.
-	private init<P1: PropertyType, P2: PropertyType>(transformingFirst property: P1, second anotherProperty: P2, @noescape using transform: SignalProducer<P1.Value, NoError> -> SignalProducer<P2.Value, NoError> -> SignalProducer<Value, NoError>) {
-		self.init(propertyProducer: transform(property.producer)(anotherProperty.producer),
-		          capturing: AnyProperty.capture(property, anotherProperty))
+	private init<P1: PropertyType, P2: PropertyType>(combining properties: (P1, P2), @noescape using transform: SignalProducer<P1.Value, NoError> -> SignalProducer<P2.Value, NoError> -> SignalProducer<Value, NoError>) {
+		self.init(propertyProducer: transform(properties.0.producer)(properties.1.producer),
+		          capturing: AnyProperty.capture(properties.0) + AnyProperty.capture(properties.1))
 	}
 
 	/// Initializes a property from a producer that promises to send at least one

	/// Check if `property` is an `AnyProperty` and has already captured its sources
	/// using a closure. Returns that closure if it does. Otherwise, returns a closure
	/// which captures `property`.
	private static func capture<P: PropertyType>(property: P) -> (() -> Void) {
		if let property = property as? AnyProperty<P.Value>, closure = property.capturingClosure {
			return closure
		} else {
			return { property }
		}
	}

	/// Applies `capture(_:)` on the supplied properties, and returns a closure that
	/// captures the resulting closures.
	private static func capture<P1: PropertyType, P2: PropertyType>(firstProperty: P1, _ secondProperty: P2) -> (() -> Void) {
		let firstClosure = capture(firstProperty)
		let secondClosure = capture(secondProperty)
		return { _ = (firstClosure, secondClosure) }
	}
}



		if value != nil {
			disposable = ScopedDisposable(observerDisposable)
			self.sources = sources

			_value = { value }
			_producer = { propertyProducer }
