A DSL for dynamically creating classes and their objects