Metaprogramming example
Example of defining a pseudo object oriented implementation
Examples used for PSP couse