Area2D
                    calls the body_entered signal multiple
                    times
                    In Godot, when calling reparent on a
                    Node2D, this will cause the
                    Area2D to call body_exited
                    immediately followed by body_entered.
                    For example, this pseudocode...
func _on_body_entered(body):
	print("entered")
	teleport()
func _on_body_exited(body):
	print("exited")
func teleport():
	print("reparent")
	self.reparent( ... )
	print("global position")
	self.global_position = ......results in the following output:
entered
reparent
exited
entered
global position
reparent
global position
exited