public void alignCloserBoundTo(GameComponent<?> target) {
		Appearance ownBounds = this.getAppearance();
		Appearance targetBounds = target.getAppearance();
		double bottomDistance = abs(ownBounds.getHeight() + this.getY() - target.getY());
		double targetRight = target.getX() + targetBounds.getWidth();
		double leftDistance = abs(this.getX() - targetRight);
		double targetBottom = target.getY() + targetBounds.getHeight();
		double topDistance = abs(this.getY() - targetBottom);
		double rightDistance = abs(this.getX() + ownBounds.getWidth() - target.getX());
		double minDistance = min(bottomDistance, min(leftDistance, min(topDistance, rightDistance)));

		if(minDistance == bottomDistance) {
			this.alignBottomTo(target.getY());
		}
		else if(minDistance == leftDistance) {
			this.alignLeftTo(targetRight);
		}
		else if(minDistance == topDistance) {
			this.alignTopTo(targetBottom);
		}
		else {
			this.alignRightTo(target.getX());
		}
	}