private void InteractWithObject(Interactable interactable)
    {
        // Pick up holdable objects
        if (interactable.InteractionType == "pickup")
        {
            HoldableObject holdable = interactable.GetComponentInParent <HoldableObject>();
            if (holdable != null)
            {
                if (GameStateManager.Instance.BottlesPickedUpCount == 0)
                {
                    GameUI.Instance.DialogUI.ShowDialog("Hmm... I wonder if I could use this on a monster?", 5, this.transform, Vector3.up * 3);
                }
                GameStateManager.Instance.BottlesPickedUpCount++;

                _objectHolder.HoldObject(holdable);
                return;
            }
        }
        else if (interactable.InteractionType == "mix")
        {
            // Mix bottles
            if (_objectHolder.IsHoldingObject)
            {
                ScreamContainer heldBottle   = _objectHolder.HeldObject.GetComponent <ScreamContainer>();
                ScreamContainer groundBottle = interactable.GetComponentInParent <ScreamContainer>();
                if (heldBottle != null && groundBottle != null)
                {
                    StartMixingBottles(heldBottle, groundBottle);
                }
            }
        }
        else if (interactable.InteractionType == "deposit")
        {
            // Deposit bottles into bank
            if (_objectHolder.IsHoldingObject)
            {
                ScreamContainer heldBottle = _objectHolder.HeldObject.GetComponent <ScreamContainer>();
                GameStateManager.Instance.ScreamBank.DepositScream(heldBottle.ScreamSounds);
                ReleaseBottleScream();
            }
        }
    }