void OnTriggerExit(Collider other)
    {
        PipeMazeActorComponent actor = other.gameObject.GetComponent <PipeMazeActorComponent>();

        if (actor != null)
        {
            actor.OnExitJunction(this);
        }
    }
    void OnTriggerEnter(Collider other)
    {
        //Debug.Log("PipeMazeJunctionComponent OnTriggerEnter " + other.name);

        PipeMazeActorComponent actor = other.gameObject.GetComponent <PipeMazeActorComponent>();

        if (actor != null)
        {
            actor.OnEnterJunction(this);
        }

        if (this.goal != null)
        {
            GameObject achiever = (other != null) ? other.gameObject : null;
            if (achiever != null)
            {
                this.goal.OnAchieved(achiever);
            }
        }
        else
        {
            Extend(1);
        }
    }