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


  public var attributedStringValue: DynamicSubject<NSAttributedString> {
    return dynamicSubject(
      signal: controlEvent.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 }
