@Override
	public void move(Direction direction) {
		Position currentPos = getGrid().getElementPosition(this);
		getGrid().moveElement(this, direction);
		Position newPos = getGrid().getElementPosition(this);

		if (currentPos.equals(newPos))
			throw new IllegalArgumentException("The element can't move in the chosen direction!");

		setMovedDuringTurn(true);
		lightTrail.addLightTrailPart(currentPos);
		decrementAction();
	}