@Override
		public final void tActionEvent(TActionEvent e)
			{
				Object eventSource = e.getSource();

				if (eventSource == saveGenesButton)
					{
						Hub.geneIO.saveGenes(
								new Genes(geneEditorField.getText(), seedSizeSlider.getValue(), (int) redLeafSlider.getValue(), (int) greenLeafSlider.getValue(), (int) blueLeafSlider.getValue()),
								saveNameField.getText());
					}
				else if (eventSource == loadGenesButton)
					{
						JFileChooser chooser = new JFileChooser(saveDirectory);
						int returnVal = chooser.showOpenDialog(getObserver());
						if (returnVal == JFileChooser.APPROVE_OPTION)
							{
								BufferedReader in = null;
								try
									{
										File geneFile = new File(saveDirectory + "//" + chooser.getSelectedFile().getName());

										in = new BufferedReader(new FileReader(geneFile));

										saveNameField.setText(chooser.getSelectedFile().getName().substring(0, chooser.getSelectedFile().getName().length() - 4));
										geneEditorField.setText(readStringFromLine(in.readLine()));
										seedSizeSlider.setValue(readValueFromLine(in.readLine()));
										redLeafSlider.setValue(readValueFromLine(in.readLine()));
										greenLeafSlider.setValue(readValueFromLine(in.readLine()));
										blueLeafSlider.setValue(readValueFromLine(in.readLine()));
									}
								catch (Exception ex)
									{}
								finally
									{
										try
											{
												in.close();
											}
										catch (IOException ex)
											{
												ex.printStackTrace();
											}
									}
								updateExamplePlant();
							}

					}
				else if (eventSource == openGenesFolderButton)
					Hub.geneIO.openFolder();
				else if (eventSource == mainMenuButton)
					changeRenderableObject(Hub.menu);
			}