Mention csv as a valid output format
Make finish method private and run the actual finalizer block within the scope of the newly generated object (allowing field access)
Really run finish within object scope