@Override
	public void disengage() {
		EventService.getInstance(getCore()).removeListener(this);
		
		if (isSelected()) {
			setSelected(false);
		}
		TaskService.getInstance(getCore()).destroyTask(this.hoverTask);
		this.hoverTask = null;
		super.disengage();
	}