protected void createSysTray(){
		if(SystemTray.isSupported()){
			SystemTray tray = SystemTray.getSystemTray();
			
			BufferedImage bufImage = null;
			try {
				bufImage = ImageIO.read(getClass().getResourceAsStream(RED_ICON));
			} catch (IOException e1) {
				System.err.println("Couldn't load systray image");
			}
			int trayIconWidth = new TrayIcon(bufImage).getSize().width;
			
		    disableAction = new MenuItem("Disable Server");
		    
		    MenuItem exitAction = new MenuItem("Exit");
		    exitAction.addActionListener( new ActionListener() {
				@Override
				public void actionPerformed(ActionEvent arg0) {
					// TODO: this should not tell the model what to do!
					model.saveConfig();
					System.exit(0);
				}
		    });
		    
		    
		    PopupMenu popup = new PopupMenu();
		    popup.add(disableAction);
		    popup.add(exitAction);
		    
		    trayIcon = new TrayIcon(bufImage.getScaledInstance(trayIconWidth, -1, Image.SCALE_SMOOTH), TITLE, popup);
		    trayIcon.addActionListener(new ActionListener() {
				@Override
				public void actionPerformed(ActionEvent arg0) {
					if(ACSView.this.isVisible()){
						ACSView.this.setVisible(false);
					} else {
						ACSView.this.setVisible(true);
					}
				}
		    });
		    
		    
		    try {
		        tray.add(trayIcon);
		    } catch (AWTException e) {
		    	System.err.println("Couldn't add systray icon - " + e);
		    }
		    
		}
		
	}