         scrollView.setContentOffset(point, animated: animated)
     }
 
-    public func set(selectedIndex index: Int, animated: Bool = true) {
+    public func set(selectedIndex index: Int, animated: Bool = true, silently: Bool = false) {
+        if silently {
+            silenceIndexUpdates = true
+        }
+
         scroll(toIndex: index, animated: animated)
-        markItemAsSelected(at: index)
+
+        silenceIndexUpdates = false
     }
 
     private func markItemAsSelected(at index: Int) {


        selectedIndex = index

        delegate?.picker(self, didSelectIndex: selectedIndex)
    }

    private func convert(contentOffsetToIndex contentOffset: CGFloat) -> Int {

    private let sliderVelocityCoefficient: Double
    private let defaultSelectedIndex: Int
    private var didSetDefault = false
    private var silenceIndexUpdates = false

    var delegate: PickerViewDelegate?

