     return lhs.uuid == rhs.uuid
   }
 }
-
-/** The default tension configuration. */
-public let defaultSpringTension: CGFloat = 342
-
-/** The default friction configuration. */
-public let defaultSpringFriction: CGFloat = 30
-
-/** The default mass configuration. */
-public let defaultSpringMass: CGFloat = 1

   */
  public let suggestedDuration = createProperty("Spring.suggestedDuration", withInitialValue: TimeInterval(0))

  /** The value used when determining completion of the spring simulation. */
  public let threshold: ReactiveProperty<CGFloat>

  public let metadata = Metadata("Spring")

  fileprivate let system: SpringToStream<T>
  fileprivate let _state = createProperty("Spring._state", withInitialValue: MotionState.atRest)

  public func add(to property: ReactiveProperty<T>,
                  withRuntime runtime: MotionRuntime,

    }
    runtime.connect(stream, to: property)
  }

  public let metadata = Metadata("Spring")

  fileprivate let system: SpringToStream<T>
  fileprivate let _state = createProperty("Spring._state", withInitialValue: MotionState.atRest)

  private var activeSprings = Set<SpringShadow<T>>()
}
