@Override
	public void update() {
		double elapsed = this.timer.getTime() - this.startTime;
		if (elapsed >= fadeTime) {
			TaskService.getInstance(getCore()).destroyTask(this);
			return;
		}
		
		double gain = 1.0 - elapsed / this.fadeTime;
		this.source.setGain(gain);
	}