This patch decomposes the former 'child.h' into several header files, unifies the naming of classes, and adds source-code documentation.