look at my drawing method(combined for now). As you can see coordinate placement is interdependent on previous calls and definitions. How can I ensure that those definitions just dont become invalid or undefined when I separate the drawing body parts into separate methods?

public void drawHangman() {
		double xHead = (getWidth() - HEAD_RADIUS * 2) / 2;
		double yHead = 50;
		GOval head = new GOval(HEAD_RADIUS * 2, HEAD_RADIUS * 2);
		add(head, xHead, yHead);

		double xBody1 = getWidth() / 2;
		double yBody1 = yHead + HEAD_RADIUS * 2;
		double xBody2 = getWidth() / 2;
		double yBody2 = yBody1 + BODY_LENGTH;
		GLine body = new GLine(xBody1, yBody1, xBody2, yBody2);
		add(body);

		double xLeftHand1 = xBody1;
		double yLeftHand1 = yBody1 + ARM_OFFSET_FROM_HEAD;
		double xLeftHand2 = xBody1 - UPPER_ARM_LENGTH;
		double yLeftHand2 = yBody1 + ARM_OFFSET_FROM_HEAD;
		GLine leftHand = new GLine(xLeftHand1, yLeftHand1, xLeftHand2, yLeftHand2);
		add(leftHand);

		double xLeftPalm1 = xLeftHand2;
		double yLeftPalm1 = yLeftHand1;
		double xLeftPalm2 = xLeftPalm1;
		double yLeftPalm2 = yLeftPalm1 + LOWER_ARM_LENGTH;
		GLine leftPalm = new GLine(xLeftPalm1, yLeftPalm1, xLeftPalm2, yLeftPalm2);
		add(leftPalm);

		double xRightHand1 = xBody1;
		double yRightHand1 = yBody1 + ARM_OFFSET_FROM_HEAD;
		double xRightHand2 = xBody1 + UPPER_ARM_LENGTH;
		double yRightHand2 = yBody1 + ARM_OFFSET_FROM_HEAD;
		GLine rightHand = new GLine(xRightHand1, yRightHand1, xRightHand2, yRightHand2);
		add(rightHand);

		double xRightPalm1 = xRightHand2;
		double yRightPalm1 = yRightHand1;
		double xRightPalm2 = xRightHand2;
		double yRightPalm2 = yRightPalm1 + LOWER_ARM_LENGTH;
		GLine rightPalm = new GLine(xRightPalm1, yRightPalm1, xRightPalm2, yRightPalm2);
		add(rightPalm);

		double xLeftHip1 = xBody2;
		double yLeftHip1 = yBody2;
		double xLeftHip2 = xBody2 - HIP_WIDTH;
		double yLeftHip2 = yLeftHip1;
		GLine leftHip = new GLine(xLeftHip1, yLeftHip1, xLeftHip2, yLeftHip2);
		add(leftHip);

		double xLeftLeg1 = xLeftHip2;
		double yLeftLeg1 = yLeftHip1;
		double xLeftLeg2 = xLeftLeg1;
		double yLeftLeg2 = yLeftLeg1 + LEG_LENGTH;
		GLine leftLeg = new GLine(xLeftLeg1, yLeftLeg1, xLeftLeg2, yLeftLeg2);
		add(leftLeg);

		double xRightHip1 = xBody2;
		double yRightHip1 = yBody2;
		double xRightHip2 = xBody2 + HIP_WIDTH;
		double yRightHip2 = yLeftHip1;
		GLine rightHip = new GLine(xRightHip1, yRightHip1, xRightHip2, yRightHip2);
		add(rightHip);

		double xRightLeg1 = xRightHip2;
		double yRightLeg1 = yRightHip1;
		double xRightLeg2 = xRightLeg1;
		double yRightLeg2 = yRightLeg1 + LEG_LENGTH;
		GLine rightLeg = new GLine(xRightLeg1, yRightLeg1, xRightLeg2, yRightLeg2);
		add(rightLeg);

		double xLeftFoot1 = xLeftLeg2;
		double yLeftFoot1 = yLeftLeg2;
		double xLeftFoot2 = xLeftFoot1 - FOOT_LENGTH;
		double yLeftFoot2 = yLeftFoot1;
		GLine leftFoot = new GLine(xLeftFoot1, yLeftFoot1, xLeftFoot2, yLeftFoot2);
		add(leftFoot);

		double xRightFoot1 = xRightLeg2;
		double yRightFoot1 = yRightLeg2;
		double xRightFoot2 = xRightFoot1 + FOOT_LENGTH;
		double yRightFoot2 = yRightFoot1;
		GLine rightFoot = new GLine(xRightFoot1, yRightFoot1, xRightFoot2, yRightFoot2);
		add(rightFoot);
	}