Help in solving bug in my code :)

Ive wrote a simple code for example,im clicking at the spot with this code and transfrom cube is moving to spot, it works, but with a bug: when im clicking again at another spot2, while cube is moving to spot1,cube stops.Think problem is in logic of a code. Thanks for any help.

using UnityEngine;
using System.Collections;

public class PlanetMoveTest : MonoBehaviour

{

public Transform Cube;
public float speed = 10f;
bool isMoving = false;



// Use this for initialization
void Start () 
{

}

void OnMouseDown()
{
	isMoving = true;
	
}


// Update is called once per frame
void Update () 
{
	if(isMoving)
	{
					
		Cube.transform.position = Vector3.MoveTowards(Cube.transform.position,transform.position,Time.deltaTime * speed);
		
	}
	

	
	if(Cube.transform.position == transform.position)
	{
	 	isMoving = false;
		
		
	}
	
}

}

As mentioned above, I’d restructure the code so that the follower moved itself. I know nothing about the nature of your game, but here are a couple of simple scripts as proof of concept. The first goes on the follower and it must be named “Follower” (or you can change the name in the code):

public class Follower : MonoBehaviour {
	
	public Vector3 v3Dest;
	public float speed = 5.0f;

	void Start () {
		v3Dest = transform.position;
	}
	
	void Update () {
		transform.position = Vector3.MoveTowards(transform.position,v3Dest,Time.deltaTime * speed);
		transform.LookAt(v3Dest);
	}
}

And this script goes on any leaders (i.e. the things you click on to change the destination):

public class Leaders : MonoBehaviour {

	private Follower follower;
	
	void Start () {
		follower = GameObject.Find ("Follower").GetComponent< Follower >();
	}
	
	void OnMouseDown() {
		follower.v3Dest = transform.position;	
	}
}