We could write a PrintPopulationAttributes and a PrintCellAttributes action, each which can register plugins that either take the population in and return a single (comma-free) value, or take a single cell in and returns a single value. The idea being you can have a single csv file that prints many population values (like cell types, average vals) and another csv that prints cell properties (like xy cords, type, prob of cooperation). This would probably cut back on some effort in writing some common types of print actions.
We could write a PrintPopulationAttributes and a PrintCellAttributes action, each which can register plugins that either take the population in and return a single (comma-free) value, or take a single cell in and returns a single value. The idea being you can have a single csv file that prints many population values (like cell types, average vals) and another csv that prints cell properties (like xy cords, type, prob of cooperation). This would probably cut back on some effort in writing some common types of print actions.