   }
 
   func setTheme(theme: Theme) {
-    self.theme.value = theme
+    self._theme.value = theme
   }
 }
 

extension Theming {

  var textColor: Observable<UIColor> {
    return theme.asObservable().map { $0.textColor }
  }

  var secondaryTextColor: Observable<UIColor> {
    return theme.asObservable().map { $0.secondaryTextColor }
  }

  var accentColor: Observable<UIColor> {
    return theme.asObservable().map { $0.accentColor }
  }

  var backgroundColor: Observable<UIColor> {
    return theme.asObservable().map { $0.backgroundColor }
  }
}


  static let sharedInstance = Theming()

  private let _theme: Variable<Theme>

  var theme: Theme {
    return _theme.value
  }

  init(theme: Theme) {
    self._theme = Variable(theme)
  }

  private convenience init() {
