I'm more interested in a more detailed description, the actual code is not important.
Something on the same level as the pdf Satoshi relesed in the beginning of bitcoin.
I don't think I can upload the report before my exam, but in short organizations are abstracted as such:
"Systems" have a list of "members". These "members" can execute all "tasks" associated with that system.
"Tasks" are plugins and may change any data in hashtabels ("ChaosList") associated for each member and system.
They are restricted from crashing my program by only having access to their given organization and that they can only change the hashtabel.
Systems can have any number of tasks.
Systems have a "system"-plugin that will execute automatically, it is like tasks except purely automatic.
Systems also have a "group"-plugin, it also runs automatically but returns only a list of the new members which replaces the old. The plugin chooses these members by looking at data in the chaoslists of the organization - data left by either tasks or system plugins.
Any system can be expressed by combining these abstract building blocks.
An organization is created in the program by an individual who may edit, change and test it.
HOWEVER once that individual finalizes the organization no one can edit or delete it - no one is admin. (cept server owner as said)
Plugin code in said org would be viewable to all.
Actual BTC transfers or other resource controls would be additions to the API but would happen via an extra possible function call for tasks and systems.
The reason for having task-, system- and group-plugins is so that task plugins etc. can be reused in different orgs and combined.