function Thread(targetName,methodName){
	this.targetName=targetName;
	this.methodName=methodName;
	this.start=start;
	this.stop=stop;
	this.toString=toString;
}
function start(){
	var target = eval(this.targetName);
	target.alive=true;
	runInternal(this.targetName,this.methodName);
}
function stop(){
	var target = eval(this.targetName);
	target.alive=false;
}
function runInternal(targetName,methodName){
	var target = eval(targetName);
	var str = targetName+"."+methodName+"();";
	eval(str);
	if(target.alive){
		str = "runInternal(\""+targetName+"\",\""+methodName+"\")";
		setTimeout(str,target.sleep);
	}
}
function toString(){
	return this.targetName+" - "+this.methodName;
}
