Rewritten the whole type system to the Groovy DSL, temporarily migrated world drawing classes to groovy scripts