void Start()
    {
        model.cards.ObserveCountChanged()
        .DistinctUntilChanged()
        .SubscribeToText(view.trashCounter);

        var trigger = gameObject.AddComponent <ObservableEventTrigger>();

        trigger.OnDropAsObservable()
        .Where(_ => GameManager.Instance.isDiscarding)
        .Subscribe(e =>
        {
            Debug.Log("Trash OnDrop");

            CardMovement card = e.pointerDrag.GetComponent <CardMovement>();
            if (card != null)
            {
                card.parentAfterDrag         = this.transform;
                card.positionAfterDrag       = this.transform.position + hiddenOffset;
                CardController discardedCard = card.GetComponent <CardController>();
                model.cards.Add(discardedCard);
                hand.DiscardForCosts(discardedCard);
            }
        });
    }