 		_ inner: T,
 		transform: @escaping (T.Value) -> Value,
 		validator: @escaping (Value) -> Result<T.Value, TransactionError>,
-		validationSetup: ((MutableProperty<Result<(), TransactionError>>) -> Void)?
+		validationSetup: ((MutableProperty<Result<(), TransactionError>?>) -> Void)?
 	) {
-		let current = inner.value
-		let initialValidation = validator(transform(current)).map { _ in }
-		let _validations = MutableProperty<Result<(), TransactionError>>(initialValidation)
+		let _validations = MutableProperty<Result<(), TransactionError>?>(nil)
 
 		self.lifetime = inner.lifetime
 		self.validations = Property(capturing: _validations)

	public let lifetime: Lifetime

	/// Validations that have been made by the property.
	public let validations: Property<Result<(), TransactionError>>

	/// The action associated with the property.
	private let action: (Value) -> Void

		_ body: @escaping (Value) -> Result<T.Value, TransactionError>
	) {
		self.init(inner, transform: transform, validator: body, validationSetup: { validations in
			let d = validations <~ inner.property.validations.producer.map { $0?.mapError(errorTransform) }
			validations.lifetime.ended.observeCompleted { d?.dispose() }
		})
	}
