public void actionPerformed(ActionEvent e)
		{
			if(e.getSource() == trainSelector)
			{
				redraw();
			}
			
			else if(e.getSource() == engine)
			{
				int currTrain = Integer.parseInt((String) trainSelector.getSelectedItem());
				if(trainModelWrapper.isInFailure(currTrain))
				{
					trainModelWrapper.resolveFailure(currTrain);
					brake.setEnabled(true);
					signal.setEnabled(true);
					eBrake.setEnabled(true);
				}
				else
				{
					trainModelWrapper.causeFailure(Failure.ENGINE, currTrain);
					brake.setEnabled(false);
					signal.setEnabled(false);
					eBrake.setEnabled(false);
				}
				redraw();
			}
			
			else if(e.getSource() == brake)
			{
				int currTrain = Integer.parseInt((String) trainSelector.getSelectedItem());
				if(trainModelWrapper.isInFailure(currTrain))
				{
					trainModelWrapper.resolveFailure(currTrain);
					engine.setEnabled(true);
					signal.setEnabled(true);
					eBrake.setEnabled(true);
				}
				else
				{
					trainModelWrapper.causeFailure(Failure.BRAKE, currTrain);
					engine.setEnabled(false);
					signal.setEnabled(false);
					eBrake.setEnabled(false);
				}
				redraw();
			}
			
			else if(e.getSource() == signal)
			{
				int currTrain = Integer.parseInt((String) trainSelector.getSelectedItem());
				if(trainModelWrapper.isInFailure(currTrain))
				{
					trainModelWrapper.resolveFailure(currTrain);
					engine.setEnabled(true);
					brake.setEnabled(true);
					eBrake.setEnabled(true);
				}
				else
				{
					trainModelWrapper.causeFailure(Failure.SIGNAL, currTrain);
					engine.setEnabled(false);
					brake.setEnabled(false);
					eBrake.setEnabled(false);
				}
				redraw();
			}
			
			else if(e.getSource() == eBrake)
			{
				int currTrain = Integer.parseInt((String) trainSelector.getSelectedItem());
				if(trainModelWrapper.eBrakePulled(currTrain))
				{
					trainModelWrapper.endEBrake(currTrain);
					System.out.println("E-Brake TURNING OFF GUI");
					engine.setEnabled(true);
					brake.setEnabled(true);
					signal.setEnabled(true);
				}
				else
				{
					trainModelWrapper.pullEBrake(currTrain);
					engine.setEnabled(false);
					brake.setEnabled(false);
					signal.setEnabled(false);
				}
				redraw();
			}
		}