void FixedUpdate()
    {
        if (currentlyOverlappingObject != null)
        {
            var currentDot = Vector3.Dot(transform.up, currentlyOverlappingObject.transform.position - transform.position);

            if (currentDot < 0) // only transport the player once he's moved across plane
            {
                currentlyOverlappingObject.Teleport(this.transform, receiver.transform);
                currentlyOverlappingObject = null;
            }
        }
    }