public void update(Observable o, Object arg) {
	    // update garage.occupancy and the garage.isOpen status as needed 
		// the garage observes both the entry and exit in order to 
		// keep occupancy correct
		if ((String)arg == "entry") {
			currentOccupancy++;
		} else if ((String)arg == "exit") {
			currentOccupancy--;
			if (currentOccupancy < 0 ) {currentOccupancy = 0;};
		}
		
		// update the occupancy of the garage ui view
		garageUI.setMessage("Current Occupancy:" + currentOccupancy);

		Date timeNow = new Date();
		dataStorage.updateOccupancyData(timeNow, currentOccupancy);
		
		// If the garage reaches max occupancy, close it down by 
		// notifying the sign and the entryKiosk
		if (currentOccupancy >= systemPreferences.getMaxOccupancy()) {
			this.isOpen = false;		
			this.setChanged();
			this.notifyObservers("GarageFull");
		} else if (this.isOpen == false) {
			this.isOpen = true;		
			this.setChanged();
			this.notifyObservers("GarageOpen");
		}
		
	}