Merge in ideas from evaluation

Stil to do:

* Code generator class

* Integration tests