         control.addObserver(
             self,
             forKeyPath: "selectedSegmentIndex",
-            options: NSKeyValueObservingOptions.New,
+            options: [.Old, .New],
             context: &self.kvoContext
         )
     }

            value = segmentedControl
                .titleForSegmentAtIndex(segmentedControl.selectedSegmentIndex)
        {
            self.value = value
        }

        for control in self.segmentedControls {

        }
    }

    private var _value: String?

    public var value: String? {
        get {
            return self._value
        }

        set(newValue) {
            // we will start an expensive operation
            // so we must do it only if there is difference
            // in the UI.

            if self.value == newValue {
                return
            }

            self._value = newValue
            changeCurrentIndex()
        }
    }

