Custom comparator branch

A little rejiggering to allow custom comparators to be defined in the data model. removed interaction code for now. predicates and data model are now pickled