fleshed out abstract implementation for gng.py. TODO: Error functions, statistic generators, knitting it together