// The Model. All property notify when their values change using UniRx; public class Enemy { public ReactiveProperty CurrentHp { get; private set; } public IReadOnlyReactiveProperty IsDead { get; private set; } public Enemy(int initialHp) { // Declarative Property CurrentHp = new ReactiveProperty((long)initialHp); IsDead = CurrentHp.Select(x => x <= 0).ToReactiveProperty(); } }