public Object createObjectInstance(String name) throws Exception {
	if (!loaded_component_classes.containsKey(name)) {
	    Logger.getLogger(GameScriptManager.class.getName()).log(Level.SEVERE, "Class not loaded: {0}.", name);

	    throw new JMException("Class not loaded: " + name);
	}

	Object	ret	= null;

	try {
	    Class	temp	= loaded_component_classes.get(name);

	    ret	= temp.newInstance();
	} catch (IllegalAccessException e) {
	    Logger.getLogger(GameScriptManager.class.getName()).log(Level.SEVERE,
			     "Illegal Access Exception when creating object: {0}", name);

	    throw e;
	} catch (InstantiationException e) {
	    Logger.getLogger(GameScriptManager.class.getName()).log(Level.SEVERE,
			     "Instantiation Exception when creating object: {0}", name);

	    throw e;
	} catch (ExceptionInInitializerError e) {
	    Logger.getLogger(GameScriptManager.class.getName()).log(Level.SEVERE,
			     "Exception In Initializor Error when creating object: {0}", name);

	    throw e;
	} catch (SecurityException e) {
	    Logger.getLogger(GameScriptManager.class.getName()).log(Level.SEVERE,
			     "Security Exception when creating object: {0}", name);

	    throw e;
	}

	return ret;
    }