Generalized comparator object

No longer requires a string