A dynamic DSL for building complex objects in Scala 2.10