int Instance::lua_Destroy(lua_State* L){
		Instance* inst = checkInstance(L, 1);
		if(inst){
			inst->Destroy();
			return 0;
		}
		return luaL_error(L, COLONERR, "Destroy");
	}
	void Instance::Destroy(){
		setParent(NULL);
		ParentLocked = true;
		Changed->disconnectAll();
		for(std::vector<Instance*>::size_type i = 0; i != children.size(); i++){
			Instance* kid = children[i];
			if(kid != NULL){
				kid->Destroy();
			}
		}
	}