MCS
Manageable Code Structure
...To use a FEATURE named MY_FEATURE just place a line IMPORT(F_MY_FEATURE) in your main source file. remove this line to disable MY_FEATURE.
When a FEATURE is imported, all the MIXINs in the FEATURE will act as a base class of the CLASS in the main souce, which has the same name of the MIXIN.
A DAEMON of a FEATURE act as a global object, which can also IMPORT FEATUREs, just like the main source.
See lineserver.pike as a example.
Visit http://mcs-awl.sourceforge.net/ for more.