public override void Bind(ViewBase view) { base.Bind(view); view.BindProperty(Character.JumpStateProperty, JumpStateChanged); view.BindProperty(Character.MovementStateProperty, MovementStateChanged); view.BindCommandExecuted(Character.PickUpCoin, CoinPickedUp); Character.IsOnTheGroundProperty .DistinctUntilChanged() .Where(value => value) .Subscribe(value => Landed()) .DisposeWith(view); }