@Override
	public void run() {
		// TODO Auto-generated method stub
		isNew = false;
		while(true)
		{
			if (model.getSchedThread() != null && model.getSchedThread().isAlive())
			{
				setMessage("Please Wait...");
				isNew = true;
			}
			else
			{
				if (model.getBestSchedule() == null || model.getBestSchedule().getNumCourses()  == 0)
				{
					setMessage("");
					
				}
				else if (isNew == true)
				{
					TimeDayCollection schedColl = new TimeDayCollection();
					Iterator<Course> it = model.getBestSchedule().getCourses().iterator();

					// Iterate over each course to create a time table for the days and times
					// of the courses.
					while(it.hasNext()) 
					{
						Course curr = it.next();
						TimePeriod p = (TimePeriod)curr.getValue(CourseData.TIME.toString());
						p.setPayload(curr);
						schedColl.addTimeCollection(p,(ArrayList<Day>)curr.getValue(CourseData.DAY.toString()));
					}
					double hours = schedColl.hoursInWeek();
					
					setMessage("Time at school a week: " + (int)hours + " hours and " + (int)((hours - (int)hours) * 60) + " min");
					
				}
				isNew = false;
			}
		}
	}