some ideas for the new engine:
=============================

- modular
- object oriented (and each property/subobject can be accessed via console
	/ script language)
(- use exceptions ?)

interface for each modul (which is an object in general):
- eventlist (which got fired by this modul)
- dependency-list
- ...



for example, debugging:
- put in additional properties for the debugging-object, if DEBUG=1 is set
- control debugging output via properties of the debug-object, for example:
	- (de)activate debug output for filewriting
	- some output for AI
	- etc.
	( if we can en-/disable this, it would make debugging easier, because
	you can control it at run-time and you don't have to output some
	generally unwanted trash by default )
- code-sample:
	class FileIO : HObject {
	FileIO() {
	#ifdef DEBUG
	HObject* fileIO = mainObj->get("debug")->addObject("fileIO");
	fileIO->disable();
	#endif
	}
	
	HObject open(string filename)
	string absFilename = getAbsFilename(filename);
	#ifdef DEBUG
	if(debugEngine->get("fileIO")->isEnabled())
		debugEngine->get("print")->do()
			<< "openFile: " << filename
			<< " -> " << absFilename << endl;
	#endif	
	}
	}
