private void buildFieldRef() {
		// if (editableElements.size() == 0 || editableTextFields.size() == 0) {
			// Build up a reference to the screens to make the status, reset and addProcessStatus easier
			Field[] fields = this.getClass().getDeclaredFields();
			
			for (Field field : fields) {
				
				// As long as I keep up the naming convention, this works
				if (field.getType().isAssignableFrom(JButton.class) ||
					field.getType().isAssignableFrom(JRadioButton.class) ||
					field.getType().isAssignableFrom(JCheckBox.class)) {
					try {
						field.setAccessible(true);
						editableElements.add((JComponent) field.get(this));
					} catch (Exception e) {
						log.log(Level.SEVERE,"An error occurred trying to get the AbstractScreen references: " + e.getMessage(),e);
					}
				} else if (field.getType().isAssignableFrom(JTextComponent.class)) {
					try {
						field.setAccessible(true);
						editableTextFields.add((JTextComponent) field.get(this));
										
					} catch (Exception e) {
						log.log(Level.SEVERE,"An error occurred trying to get the AbstractScreen references: " + e.getMessage(),e);
					}
				}
			}
			
			if (!editableElements.contains(processButton)) {
				editableElements.add(processButton);
			}
			
			if (!editableElements.contains(cancelButton)) {
				editableElements.add(cancelButton);
			}
		// }
	}