This toy project shows how one can define operations to declaratively build a CSV generator. It defines a fluent API that lets its consumer to customize the CSV generation behavior.
Once the behavior has been defined, the builder produces a CSV template, to which we can map some actual data structure.