public ProductVM(ProductStack productStack, PurchaseManager manager = null) { ProductStack = productStack; productStack.PropertyChanged += (s, a) => { RaisePropertyChanged(nameof(Amount)); }; if (manager != null) { BuyCommand = new DelegateCommand(() => { manager.BuyProduct(ProductStack.Product); }); } }