Simple, extensible and powerful DSL for creating classes and modules