¿Estructura observable simple con RxSwift?

Estoy tratando de encontrar un objeto simple observable en Swift y pensé usarRxSwift. No pude encontrar un ejemplo simple para hacer algo como esto:

protocol PropertyObservable {
  typealias PropertyType
  var propertyChanged: Event<(PropertyType, Any)> { get }
}

class Car: PropertyObservable {
  typealias PropertyType = CarProperty
  let propertyChanged = Event<(CarProperty, Any)>()

  dynamic var miles: Int = 0 {
    didSet {
      propertyChanged.raise(.Miles, oldValue as Any)
    }
  }

  dynamic var name: String = "Turbo" {
    didSet {
      propertyChanged.raise(.Name, oldValue as Any)
    }
  }
}

Lo anterior es una solución Swift pura para observables desdeesta publicación de blog; Realmente me gusta cómo es una solución basada en protocolos y no invasiva. En mi caso, tengo un objeto en mi proyecto donde cada propiedad se establece de forma asincrónica debajo del capó (dispositivo bluetooth). Así que necesito observar / suscribirme a los cambios en lugar de obtener / configurar las propiedades en tiempo real.

Sigo escuchando que RxSwift hará exactamente eso y más. Sin embargo, ¿no puedo encontrar un ejemplo simple que coincida arriba y empiece a pensar que RxSwift es excesivo para mi necesidad? Gracias por cualquier ayuda.

Respuestas a la pregunta(1)

Su respuesta a la pregunta