Alternative DSL - proposition

`class DSL[T]` "captures" the entity type parameter; it has exactly the same methods the the `object DSL`, and delegates