The issue is right now that this system is so massive, that we are only slowly getting the documentation written.
If you are serious about wanting to learn the architecture, then dig into the code, and more importantly, come talk to us. We are always available on #linuxmce and #linuxmce-devel on freenode. Furthermore, we have provided a chat link to us for this purpose.
Since the documentation isn't there, our options are:
* Write more of it, we are.
* Teach more of it, Again, we are. (Watch all my screencasts, and I constantly help inquiring developers)
but again, this is contingent on you digging into the code and ATTEMPTING to understand it. Pick an entry point, (start at the DCERouter logs in /var/log/pluto) and work outward. This system is a message buss, completely exposed and open. You can see precisely what is happening without needing all the documentation up front.
The critiques are quite simply made by people who do not understand the full implications of why these choices were made. Look at the code, study it, ask us questions, and we can form a basis for mutual understanding. Quite literally we have had many critics of this code-base. The ones who have stuck with it and talked to us, every single one of them have redacted their original claims. Think about that.