public static boolean registerEvent(final IEvent event) {
		if(!eventMap.containsKey(event)) {
			//We need to set up the Map to not bitch about things
			HashSet<Pair<Method, EventListener>> set;
			TreeMap<Priority, HashSet<Pair<Method, EventListener>>> value =
					new TreeMap<Priority, HashSet<Pair<Method, EventListener>>>(new PrioritySorter());

			for(Priority p : Priority.values()) {
				set = new HashSet<Pair<Method, EventListener>>();
				value.put(p, set);
			}

			eventMap.put(event, value);
			return true;
		} else { //The Event already exists
			String classpath = event.getClass().getCanonicalName();
			if(classpath == null) classpath = "NULL";
			logger.err("EventBus", "Event "+event.getEventName()+" ("+classpath+"):", 0);
			logger.err("EventBus", "Event was already registered!", 1);
			return false;
		}
	}