public void addPosition(Position position) {
		if (position == null)
			throw new IllegalArgumentException("Position can't be null");
		if (position.xCoordinate < 0 || position.yCoordinate < 0)
			throw new IllegalArgumentException("The given position is invalid!");
		
		otherPositions.add(position);
		
		if (otherPositions.size() > 2) {
			Position newHeadPosition = otherPositions.remove(0);
			setPosition(newHeadPosition);
		}
		notifyObservers();
	}