Just to give some pointers. Currently the module that uses all the latest infrastructure code is the "installer" module. Its easy enough so that it should be a good starting point. Generally a module consists of a file with the name of the module in the modules dir inside a directory with the same name as the module. You can stick any additional files you want in that dir beyond that. Inside that file you define a class with the name of the module, and usually extend from module_common. From the outside the only relevant methods are the stage1(), stage2() and stage3() methods. You can find more information about the stages in the StageLoader section.