some small notes
was carrying around this totally unused children field on ProgramNode
introduced a ProgramFitness class to get rid of those (program, fitness) pairs