"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." /Brian Kernighan/

I have to fully agree with the statement above. After a great deal of time experimenting with Generic Programming using C++ Templates in higher levels of Abstraction I'm switching back to Abstract Base Classes. The main reason is that designing with ABCs is realy straightforward, hence easy to debug. Moreover, the debugging of ABCs itself is well supported by Development Tools, which is also of great importance.

So I've just started with the next iteration of my FSHUB Engine, Yes once again :). Here's the basic module setup with chained Object Factories, all expressed as ABCs: