Separate data generator logic
Attempt to make chart more customizable/modular