All modules are loadable NSBundle objects that conform to the Agenting protocol. That's really all the detail you should need to know. :) Simply place a new class' .m and .h files in a bundle directory in the module directory and re-run make. If you don't provide a Makefile, a default one is used. The simplest thing to do is take an existing module and modify it. If you have any questions, let me know.
Warning: This is alpha software. I expect the Agenting protocol will undergo revision as I get feedback. If you are unhappy with the protocol as it stands, I will work with you to modify it (hopefully just extending it).
Work is being done to allow other, non-object shared libraries to be used as modules. If desired, an interface can be worked up for binary/shell/perl/etc. executables as well.