module model; import rx; class MyModel { public: this() { _count = 0; _counter = new SubjectObject!int; } public: int count() @property { return _count; } Observable!int counter() @property { return _counter; } public: void increment() { _count++; _counter.put(_count); } void decrement() { _count--; _counter.put(_count); } private: int _count; SubjectObject!int _counter; }