 		self.rootBox = ActionPropertyBox(inner)
 
 		action = { input in
-			inner.withValue { innerValue in
-				switch body(innerValue, input) {
-				case let .success(innerResult):
-					inner.value = innerResult
-					_validations.value = .success()
-
-				case let .failure(error):
-					_validations.value = .failure(error)
-				}
+			switch body(inner.value, input) {
+			case let .success(innerResult):
+				inner.value = innerResult
+				_validations.value = .success()
+
+			case let .failure(error):
+				_validations.value = .failure(error)
 			}
 		}
 	}

			return cache.value
		}
		set {
			action(newValue)
		}
	}


			.startWithValues { _validations.value = $0 }

		action = { input in
			switch body(inner.cache.value, input) {
			case let .success(innerResult):
				inner.action(innerResult)

			case let .failure(error):
				_validations.value = .failure(error)
			}
		}
	}
