 
     public var attributedStringValue: DynamicSubject<NSAttributedString> {
         return dynamicSubject(
-            signal: keyPath(#keyPath(NSControl.attributedStringValue), ofType: NSAttributedString.self).eraseType(),
+            signal: objectValue.eraseType(),
             triggerEventOnSetting: false,
             get: { $0.attributedStringValue },
             set: { $0.attributedStringValue = $1 }


    public var integerValue: DynamicSubject<Int> {
        return dynamicSubject(
            signal: keyPath(#keyPath(NSControl.integerValue), ofType: Int.self).eraseType(),
            triggerEventOnSetting: false,
            get: { $0.integerValue },
            set: { $0.integerValue = $1 }


    public var doubleValue: DynamicSubject<Double> {
        return dynamicSubject(
            signal: objectValue.eraseType(),
            triggerEventOnSetting: false,
            get: { $0.doubleValue },
            set: { $0.doubleValue = $1 }
