/// <summary>
        /// Interact with the given object.
        /// </summary>
        public void Interact(Interactible interactible)
        {
            if (currentInteractible == null || !currentInteractible.StillInteracting)
            {
                currentInteractible = interactible;
            }

            currentInteractible.OnInteract();

            if (!currentInteractible.StillInteracting)
            {
                currentInteractible = null;
            }
            else
            {
                fsm.Signal(currentInteractible.gameObject);
            }
        }