                            constraints: ConstraintApplicator<T>? = nil) {
     let unlocked = createProperty(withInitialValue: false)
     runtime.connect(direction.dedupe().rewriteTo(false), to: unlocked)
+    runtime.connect(toggledDelay, to: delay)
     runtime.connect(toggledValues, to: values)
     runtime.connect(toggledOffsets, to: offsets)
     super.add(to: property, withRuntime: runtime) {


    self.toggledValues = direction.dedupe().rewrite([.backward: backwardValues, .forward: forwardValues])
    self.toggledOffsets = direction.dedupe().rewrite([.backward: backwardKeyPositions, .forward: forwardKeyPositions])
    super.init(duration: duration, values: values, system: system, timeline: timeline)
  }


  public init(duration: CGFloat,
              forwardValues: [T],
              direction: ReactiveProperty<TransitionDirection>,
              delayBefore: CGFloat = 0,
              delayAfter: CGFloat = 0,
              forwardKeyPositions: [CGFloat] = [],
              system: @escaping TweenToStream<T> = coreAnimation,
              timeline: Timeline? = nil) {
