private void endActionUpdate() {
		decrementLifetime();

		if (getLifetime() == 0 && getGrid().getElementPosition(this) != null) {
			getGrid().removeElement(this);
		} else if (getLifetime() == -1) {
			final Position newPos = getNewPosition();
			
			if (getGrid().validPosition(newPos))
				getGrid().addElementToPosition(this, newPos);
			
			this.pos = newPos;
			setLifetimeToMax();
		}
	}